GCC Code Coverage Report


Directory: ./
File: phys/undefSTD.f90
Date: 2022-01-11 19:19:34
Exec Total Coverage
Lines: 26 27 96.3%
Branches: 10 12 83.3%

Line Branch Exec Source
1
2 ! $Id: undefSTD.F90 3435 2019-01-22 15:21:59Z fairhead $
3
4 480 SUBROUTINE undefstd(itap, read_climoz)
5 USE netcdf
6 USE dimphy
7 USE phys_state_var_mod
8
9 IMPLICIT NONE
10 include "clesphys.h"
11 REAL :: missing_val
12
13 ! ====================================================================
14
15 ! I. Musat : 09.2004
16
17 ! Calcul * du nombre de pas de temps (FLOAT(ecrit_XXX)-tnondef))
18 ! ou la variable tlevSTD est bien definie (.NE.missing_val),
19 ! et
20 ! * de la somme de tlevSTD => tsumSTD
21
22 ! nout=1 !var. journaliere "day" moyenne sur tous les pas de temps
23 ! ! de la physique
24 ! nout=2 !var. mensuelle "mth" moyennee sur tous les pas de temps
25 ! ! de la physique
26 ! nout=3 !var. mensuelle "NMC" moyennee toutes les ecrit_hf
27
28
29 ! NB: mettre "inst(X)" dans le write_hist*NMC.h !
30 ! ====================================================================
31
32 ! ym#include "dimphy.h"
33 ! variables Input
34
35 ! INTEGER nlevSTD, klevSTD, itap
36 ! PARAMETER(klevSTD=17)
37 INTEGER itap
38
39 ! variables locales
40 ! INTEGER i, k, nout, n
41 ! PARAMETER(nout=3) !nout=1 : day; =2 : mth; =3 : NMC
42 INTEGER i, k, n
43 ! REAL freq_calNMC(nout)
44 INTEGER read_climoz
45
46 ! variables Output
47 ! REAL tlevSTD(klon,klevSTD), tsumSTD(klon,klevSTD,nout)
48 ! LOGICAL oknondef(klon,klevSTD,nout)
49 ! REAL tnondef(klon,klevSTD,nout)
50
51 ! REAL missing_val
52
53 ! missing_val = nf90_fill_real
54 missing_val=missing_val_nf90
55
56
2/2
✓ Branch 0 taken 1440 times.
✓ Branch 1 taken 480 times.
1920 DO n = 1, nout
57
58
59 ! calcul variables tous les freq_calNMC(n)/phys_tstep pas de temps
60 ! de la physique
61
62
1/2
✓ Branch 0 taken 1440 times.
✗ Branch 1 not taken.
1920 IF (mod(itap,nint(freq_calnmc(n)/phys_tstep))==0) THEN
63
2/2
✓ Branch 0 taken 24480 times.
✓ Branch 1 taken 1440 times.
25920 DO k = 1, nlevstd
64
2/2
✓ Branch 0 taken 24333120 times.
✓ Branch 1 taken 24480 times.
24359040 DO i = 1, klon
65
2/2
✓ Branch 0 taken 1110186 times.
✓ Branch 1 taken 23222934 times.
24357600 IF (tlevstd(i,k)==missing_val) THEN
66 ! IF(oknondef(i,k,n)) THEN
67 1110186 tnondef(i, k, n) = tnondef(i, k, n) + 1.
68 ! ENDIF !oknondef(i,k)
69
70 ELSE IF (tlevstd(i,k)/=missing_val) THEN
71 23222934 tsumstd(i, k, n) = tsumstd(i, k, n) + tlevstd(i, k)
72 23222934 usumstd(i, k, n) = usumstd(i, k, n) + ulevstd(i, k)
73 23222934 vsumstd(i, k, n) = vsumstd(i, k, n) + vlevstd(i, k)
74 23222934 wsumstd(i, k, n) = wsumstd(i, k, n) + wlevstd(i, k)
75 23222934 phisumstd(i, k, n) = phisumstd(i, k, n) + philevstd(i, k)
76 23222934 qsumstd(i, k, n) = qsumstd(i, k, n) + qlevstd(i, k)
77 23222934 rhsumstd(i, k, n) = rhsumstd(i, k, n) + rhlevstd(i, k)
78 23222934 uvsumstd(i, k, n) = uvsumstd(i, k, n) + uvstd(i, k)
79 23222934 vqsumstd(i, k, n) = vqsumstd(i, k, n) + vqstd(i, k)
80 23222934 vtsumstd(i, k, n) = vtsumstd(i, k, n) + vtstd(i, k)
81 23222934 wqsumstd(i, k, n) = wqsumstd(i, k, n) + wqstd(i, k)
82 23222934 vphisumstd(i, k, n) = vphisumstd(i, k, n) + vphistd(i, k)
83 23222934 wtsumstd(i, k, n) = wtsumstd(i, k, n) + wtstd(i, k)
84 23222934 u2sumstd(i, k, n) = u2sumstd(i, k, n) + u2std(i, k)
85 23222934 v2sumstd(i, k, n) = v2sumstd(i, k, n) + v2std(i, k)
86 23222934 t2sumstd(i, k, n) = t2sumstd(i, k, n) + t2std(i, k)
87 23222934 o3sumstd(i, k, n) = o3sumstd(i, k, n) + o3std(i, k)
88
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 23222934 times.
23222934 IF (read_climoz==2) o3daysumstd(i, k, n) = o3daysumstd(i, k, n) + &
89 o3daystd(i, k)
90
91 END IF
92 END DO !i
93 END DO !k
94
95 END IF !MOD(itap,NINT(freq_calNMC(n)/phys_tstep)).EQ.0
96
97 END DO !n
98
99 480 RETURN
100 END SUBROUTINE undefstd
101