Changeset 1054 for LMDZ4/trunk/libf
- Timestamp:
- Nov 14, 2008, 5:38:42 PM (16 years ago)
- Location:
- LMDZ4/trunk/libf/phylmd
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ4/trunk/libf/phylmd/clesphys.h
r1001 r1054 45 45 REAL ecrit_ins, ecrit_hf, ecrit_hf2mth, ecrit_day 46 46 REAL ecrit_mth, ecrit_tra, ecrit_reg 47 REAL ecrit_LES 47 48 REAL freq_ISCCP, ecrit_ISCCP 48 49 INTEGER :: ip_ebil_phy, iflag_rrtm … … 64 65 & , freq_ISCCP, ecrit_ISCCP, ip_ebil_phy & 65 66 & , ok_slab_sicOBS, ok_lic_melt, cvl_corr & 66 & , qsol0, iflag_rrtm, ok_strato,ok_hines 67 & , qsol0, iflag_rrtm, ok_strato,ok_hines,ecrit_LES 67 68 68 69 !$OMP THREADPRIVATE(/clesphys/) -
LMDZ4/trunk/libf/phylmd/conf_phys.F90
r1052 r1054 7 7 8 8 subroutine conf_phys(ok_journe, ok_mensuel, ok_instan, ok_hf, & 9 & ok_LES,& 9 10 & solarlong0,seuil_inversion, & 10 11 & fact_cldcon, facttemps,ok_newmicro,iflag_radia,& … … 57 58 integer :: iflag_radia 58 59 logical :: ok_journe, ok_mensuel, ok_instan, ok_hf 60 logical :: ok_LES 59 61 LOGICAL :: ok_ade, ok_aie, aerosol_couple 60 62 REAL :: bl95_b0, bl95_b1 … … 66 68 logical,SAVE :: ok_veget_omp, ok_newmicro_omp 67 69 logical,SAVE :: ok_journe_omp, ok_mensuel_omp, ok_instan_omp, ok_hf_omp 70 logical,SAVE :: ok_LES_omp 68 71 LOGICAL,SAVE :: ok_ade_omp, ok_aie_omp, aerosol_couple_omp 69 72 REAL,SAVE :: bl95_b0_omp, bl95_b1_omp … … 121 124 REAL,SAVE :: lonmin_ins_omp, lonmax_ins_omp, latmin_ins_omp, latmax_ins_omp 122 125 REAL,SAVE :: ecrit_hf_omp, ecrit_day_omp, ecrit_mth_omp, ecrit_reg_omp 126 REAL,SAVE :: ecrit_LES_omp 123 127 REAL,SAVE :: ecrit_tra_omp 124 128 REAL,SAVE :: cvl_corr_omp … … 1158 1162 CALL getin('ok_hines',ok_hines_omp) 1159 1163 1164 !Config Key = OK_LES 1165 !Config Desc = Pour des sorties LES 1166 !Config Def = .false. 1167 !Config Help = Pour creer le fichier histLES contenant les sorties 1168 ! LES 1169 ! 1170 ok_LES_omp = .false. 1171 call getin('OK_LES', ok_LES_omp) 1172 ! 1173 !Config Key = ecrit_LES 1174 !Config Desc = Frequence d'ecriture des resultats du LES en nombre de jours; 1175 ! par defaut 1., i.e. 1 jour 1176 !Config Def = 1./8. 1177 !Config Help = ... 1178 ! 1179 ! 1180 ecrit_LES_omp = 1./8. 1181 call getin('ecrit_LES', ecrit_LES_omp) 1182 ! 1160 1183 1161 1184 !$OMP END MASTER … … 1278 1301 ok_strato = ok_strato_omp 1279 1302 ok_hines = ok_hines_omp 1303 ok_LES = ok_LES_omp 1304 ecrit_LES = ecrit_LES_omp 1280 1305 1281 1306 ! Test of coherence between type_ocean and version_ocean … … 1388 1413 write(numout,*)' lonmin lonmax latmin latmax bilKP_ins =',& 1389 1414 & lonmin_ins, lonmax_ins, latmin_ins, latmax_ins 1390 write(numout,*)' ecrit_ hf, day, mth, reg, tra, ISCCP ',&1391 & ecrit_hf, ecrit_day, ecrit_mth, ecrit_reg, ecrit_tra, ecrit_ISCCP 1415 write(numout,*)' ecrit_ hf, day, mth, reg, tra, ISCCP, LES',& 1416 & ecrit_hf, ecrit_day, ecrit_mth, ecrit_reg, ecrit_tra, ecrit_ISCCP, ecrit_LES 1392 1417 1393 1418 write(numout,*) 'ok_strato = ', ok_strato -
LMDZ4/trunk/libf/phylmd/phyetat0.F
r1053 r1054 753 753 ENDIF 754 754 755 u_ancien = 0.0 !AXC: We don't have u_ancien and v_ancien in the start 756 v_ancien = 0.0 !AXC: files, therefore they have to be initialized. 755 757 c 756 758 -
LMDZ4/trunk/libf/phylmd/phys_local_var_mod.F90
r1001 r1054 18 18 REAL, SAVE, ALLOCATABLE :: d_t_dyn(:,:), d_q_dyn(:,:) 19 19 !$OMP THREADPRIVATE(d_t_dyn, d_q_dyn) 20 REAL, SAVE, ALLOCATABLE :: d_u_dyn(:,:), d_v_dyn(:,:) 21 !$OMP THREADPRIVATE(d_u_dyn, d_v_dyn) 20 22 REAL, SAVE, ALLOCATABLE :: d_t_con(:,:),d_q_con(:,:) 21 23 !$OMP THREADPRIVATE(d_t_con,d_q_con) … … 76 78 allocate(tr_seri(klon,klev,nbtr)) 77 79 allocate(d_t_dyn(klon,klev),d_q_dyn(klon,klev)) 80 allocate(d_u_dyn(klon,klev),d_v_dyn(klon,klev)) 78 81 allocate(d_t_con(klon,klev),d_q_con(klon,klev)) 79 82 allocate(d_u_con(klon,klev),d_v_con(klon,klev)) … … 105 108 deallocate(tr_seri) 106 109 deallocate(d_t_dyn,d_q_dyn) 110 deallocate(d_u_dyn,d_v_dyn) 107 111 deallocate(d_t_con,d_q_con) 108 112 deallocate(d_u_con,d_v_con) -
LMDZ4/trunk/libf/phylmd/phys_output_mod.F90
r1045 r1054 12 12 IMPLICIT NONE 13 13 14 integer, parameter :: nfiles = 414 integer, parameter :: nfiles = 5 15 15 logical, dimension(nfiles), save :: clef_files 16 16 integer, dimension(nfiles), save :: lev_files … … 26 26 ! entre [lonmin_reg,lonmax_reg] et [latmin_reg,latmax_reg] 27 27 28 logical, dimension(nfiles), save :: ok_reglim = (/ .false., .false., .false., .false. /)29 real, dimension(nfiles), save :: lonmin_reg = (/ 0., -45., 0., 0. /)30 real, dimension(nfiles), save :: lonmax_reg = (/ 90., 45., 90., 90. /)31 real, dimension(nfiles), save :: latmin_reg = (/ 0., -45., 0., 0. /)32 real, dimension(nfiles), save :: latmax_reg = (/ 90., 90., 90., 90. /)28 logical, dimension(nfiles), save :: ok_reglim = (/ .false., .false., .false., .false., .true. /) 29 real, dimension(nfiles), save :: lonmin_reg = (/ 0., -45., 0., 0., -162. /) 30 real, dimension(nfiles), save :: lonmax_reg = (/ 90., 45., 90., 90., -144. /) 31 real, dimension(nfiles), save :: latmin_reg = (/ 0., -45., 0., 0., 7. /) 32 real, dimension(nfiles), save :: latmax_reg = (/ 90., 90., 90., 90., 21. /) 33 33 34 34 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! … … 38 38 39 39 !!! 1D 40 integer, dimension(nfiles) , save :: flag_phis = (/ 1, 1, 10, 1 /)41 integer, dimension(nfiles) , save :: flag_aire = (/ 1, 1, 10, 1 /)42 integer, dimension(nfiles) , save :: flag_contfracATM = (/ 10, 1, 1, 10 /)43 integer, dimension(nfiles) , save :: flag_contfracOR = (/ 10, 1, 1, 10 /)44 integer, dimension(nfiles) , save :: flag_aireTER = (/ 10, 10, 1, 10 /)40 integer, dimension(nfiles) , save :: flag_phis = (/ 1, 1, 10, 1, 1 /) 41 integer, dimension(nfiles) , save :: flag_aire = (/ 1, 1, 10, 1, 1 /) 42 integer, dimension(nfiles) , save :: flag_contfracATM = (/ 10, 1, 1, 10, 10 /) 43 integer, dimension(nfiles) , save :: flag_contfracOR = (/ 10, 1, 1, 10, 10 /) 44 integer, dimension(nfiles) , save :: flag_aireTER = (/ 10, 10, 1, 10, 10 /) 45 45 46 46 !!! 2D 47 integer, dimension(nfiles) , save :: flag_flat = (/ 10, 1, 10, 10 /)48 integer, dimension(nfiles) , save :: flag_slp = (/ 1, 1, 1, 10 /)49 integer, dimension(nfiles) , save :: flag_tsol = (/ 1, 1, 1, 1 /)50 integer, dimension(nfiles) , save :: flag_t2m = (/ 1, 1, 1, 1 /)51 integer, dimension(nfiles) , save :: flag_t2m_min = (/ 1, 1, 10, 10 /)52 integer, dimension(nfiles) , save :: flag_t2m_max = (/ 1, 1, 10, 10 /)53 integer, dimension(nfiles) , save :: flag_t2m_sol = (/ 10, 4, 10, 10 /)54 integer, dimension(nfiles) , save :: flag_wind10m = (/ 1, 1, 1, 10 /)55 integer, dimension(nfiles) , save :: flag_wind10max = (/ 10, 1, 10, 10 /)56 integer, dimension(nfiles) , save :: flag_sicf = (/ 1, 1, 10, 10 /)57 integer, dimension(nfiles) , save :: flag_q2m = (/ 1, 1, 1, 1 /)58 integer, dimension(nfiles) , save :: flag_u10m = (/ 1, 1, 1, 1 /)59 integer, dimension(nfiles) , save :: flag_v10m = (/ 1, 1, 1, 1 /)60 integer, dimension(nfiles) , save :: flag_psol = (/ 1, 1, 1, 1 /)61 integer, dimension(nfiles) , save :: flag_qsurf = (/ 1, 10, 10, 10 /)62 63 integer, dimension(nfiles) , save :: flag_u10m_sol = (/ 10, 4, 10, 10 /)64 integer, dimension(nfiles) , save :: flag_v10m_sol = (/ 10, 4, 10, 10 /)65 66 integer, dimension(nfiles) , save :: flag_qsol = (/ 1, 10, 10, 1 /)67 68 integer, dimension(nfiles),save :: flag_ndayrain = (/ 1, 10, 10, 10 /)69 integer, dimension(nfiles),save :: flag_precip = (/ 1, 1, 1, 1 /)70 integer, dimension(nfiles), save :: flag_plul = (/ 1, 1, 1, 1 /)71 72 integer, dimension(nfiles) , save :: flag_pluc = (/ 1, 1, 1, 1 /)73 integer, dimension(nfiles) , save :: flag_snow = (/ 1, 1, 10, 1 /)74 integer, dimension(nfiles) , save :: flag_evap = (/ 1, 1, 10, 1 /)75 integer, dimension(nfiles) , save :: flag_tops = (/ 1, 1, 10, 10 /)76 integer, dimension(nfiles) , save :: flag_tops0 = (/ 1, 5, 10, 10 /)77 integer, dimension(nfiles) , save :: flag_topl = (/ 1, 1, 10, 1 /)78 integer, dimension(nfiles) , save :: flag_topl0 = (/ 1, 5, 10, 10 /)79 integer, dimension(nfiles) , save :: flag_SWupTOA = (/ 1, 4, 10, 10 /)80 integer, dimension(nfiles) , save :: flag_SWupTOAclr = (/ 1, 4, 10, 10 /)81 integer, dimension(nfiles) , save :: flag_SWdnTOA = (/ 1, 4, 10, 10 /)82 integer, dimension(nfiles) , save :: flag_SWdnTOAclr = (/ 1, 4, 10, 10 /)83 integer, dimension(nfiles) , save :: flag_SWup200 = (/ 1, 10, 10, 10 /)84 integer, dimension(nfiles) , save :: flag_SWup200clr = (/ 10, 1, 10, 10 /)85 integer, dimension(nfiles) , save :: flag_SWdn200 = (/ 1, 10, 10, 10 /)86 integer, dimension(nfiles) , save :: flag_SWdn200clr = (/ 10, 1, 10, 10 /)47 integer, dimension(nfiles) , save :: flag_flat = (/ 10, 1, 10, 10, 1 /) 48 integer, dimension(nfiles) , save :: flag_slp = (/ 1, 1, 1, 10, 1 /) 49 integer, dimension(nfiles) , save :: flag_tsol = (/ 1, 1, 1, 1, 1 /) 50 integer, dimension(nfiles) , save :: flag_t2m = (/ 1, 1, 1, 1, 1 /) 51 integer, dimension(nfiles) , save :: flag_t2m_min = (/ 1, 1, 10, 10, 10 /) 52 integer, dimension(nfiles) , save :: flag_t2m_max = (/ 1, 1, 10, 10, 10 /) 53 integer, dimension(nfiles) , save :: flag_t2m_sol = (/ 10, 4, 10, 10, 10 /) 54 integer, dimension(nfiles) , save :: flag_wind10m = (/ 1, 1, 1, 10, 10 /) 55 integer, dimension(nfiles) , save :: flag_wind10max = (/ 10, 1, 10, 10, 10 /) 56 integer, dimension(nfiles) , save :: flag_sicf = (/ 1, 1, 10, 10, 10 /) 57 integer, dimension(nfiles) , save :: flag_q2m = (/ 1, 1, 1, 1, 1 /) 58 integer, dimension(nfiles) , save :: flag_u10m = (/ 1, 1, 1, 1, 1 /) 59 integer, dimension(nfiles) , save :: flag_v10m = (/ 1, 1, 1, 1, 1 /) 60 integer, dimension(nfiles) , save :: flag_psol = (/ 1, 1, 1, 1, 1 /) 61 integer, dimension(nfiles) , save :: flag_qsurf = (/ 1, 10, 10, 10, 10 /) 62 63 integer, dimension(nfiles) , save :: flag_u10m_sol = (/ 10, 4, 10, 10, 10 /) 64 integer, dimension(nfiles) , save :: flag_v10m_sol = (/ 10, 4, 10, 10, 10 /) 65 66 integer, dimension(nfiles) , save :: flag_qsol = (/ 1, 10, 10, 1, 1 /) 67 68 integer, dimension(nfiles),save :: flag_ndayrain = (/ 1, 10, 10, 10, 10 /) 69 integer, dimension(nfiles),save :: flag_precip = (/ 1, 1, 1, 1, 1 /) 70 integer, dimension(nfiles), save :: flag_plul = (/ 1, 1, 1, 1, 10 /) 71 72 integer, dimension(nfiles) , save :: flag_pluc = (/ 1, 1, 1, 1, 10 /) 73 integer, dimension(nfiles) , save :: flag_snow = (/ 1, 1, 10, 1, 10 /) 74 integer, dimension(nfiles) , save :: flag_evap = (/ 1, 1, 10, 1, 10 /) 75 integer, dimension(nfiles) , save :: flag_tops = (/ 1, 1, 10, 10, 10 /) 76 integer, dimension(nfiles) , save :: flag_tops0 = (/ 1, 5, 10, 10, 10 /) 77 integer, dimension(nfiles) , save :: flag_topl = (/ 1, 1, 10, 1, 10 /) 78 integer, dimension(nfiles) , save :: flag_topl0 = (/ 1, 5, 10, 10, 10 /) 79 integer, dimension(nfiles) , save :: flag_SWupTOA = (/ 1, 4, 10, 10, 10 /) 80 integer, dimension(nfiles) , save :: flag_SWupTOAclr = (/ 1, 4, 10, 10, 10 /) 81 integer, dimension(nfiles) , save :: flag_SWdnTOA = (/ 1, 4, 10, 10, 10 /) 82 integer, dimension(nfiles) , save :: flag_SWdnTOAclr = (/ 1, 4, 10, 10, 10 /) 83 integer, dimension(nfiles) , save :: flag_SWup200 = (/ 1, 10, 10, 10, 10 /) 84 integer, dimension(nfiles) , save :: flag_SWup200clr = (/ 10, 1, 10, 10, 10 /) 85 integer, dimension(nfiles) , save :: flag_SWdn200 = (/ 1, 10, 10, 10, 10 /) 86 integer, dimension(nfiles) , save :: flag_SWdn200clr = (/ 10, 1, 10, 10, 10 /) 87 87 88 88 ! arajouter 89 ! integer, dimension(nfiles) , save :: flag_LWupTOA = (/ 1, 4, 10, 10 /)90 ! integer, dimension(nfiles) , save :: flag_LWupTOAclr = (/ 1, 4, 10, 10 /)91 ! integer, dimension(nfiles) , save :: flag_LWdnTOA = (/ 1, 4, 10, 10 /)92 ! integer, dimension(nfiles) , save :: flag_LWdnTOAclr = (/ 1, 4, 10, 10 /)93 94 integer, dimension(nfiles) , save :: flag_LWup200 = (/ 1, 10, 10, 10 /)95 integer, dimension(nfiles) , save :: flag_LWup200clr = (/ 1, 10, 10, 10 /)96 integer, dimension(nfiles) , save :: flag_LWdn200 = (/ 1, 10, 10, 10 /)97 integer, dimension(nfiles) , save :: flag_LWdn200clr = (/ 1, 10, 10, 10 /)98 integer, dimension(nfiles) , save :: flag_sols = (/ 1, 1, 10, 1 /)99 integer, dimension(nfiles) , save :: flag_sols0 = (/ 1, 5, 10, 10 /)100 integer, dimension(nfiles) , save :: flag_soll = (/ 1, 1, 10, 1 /)101 integer, dimension(nfiles) , save :: flag_soll0 = (/ 1, 5, 10, 10 /)102 integer, dimension(nfiles) , save :: flag_radsol = (/ 1, 1, 10, 10 /)103 integer, dimension(nfiles) , save :: flag_SWupSFC = (/ 1, 4, 10, 10 /)104 integer, dimension(nfiles) , save :: flag_SWupSFCclr = (/ 1, 4, 10, 10 /)105 integer, dimension(nfiles) , save :: flag_SWdnSFC = (/ 1, 1, 10, 10 /)106 integer, dimension(nfiles) , save :: flag_SWdnSFCclr = (/ 1, 4, 10, 10 /)107 integer, dimension(nfiles) , save :: flag_LWupSFC = (/ 1, 4, 10, 10 /)108 integer, dimension(nfiles) , save :: flag_LWupSFCclr = (/ 1, 4, 10, 10 /)109 integer, dimension(nfiles) , save :: flag_LWdnSFC = (/ 1, 4, 10, 10 /)110 integer, dimension(nfiles) , save :: flag_LWdnSFCclr = (/ 1, 4, 10, 10 /)111 integer, dimension(nfiles) , save :: flag_bils = (/ 1, 2, 10, 1 /)112 integer, dimension(nfiles) , save :: flag_sens = (/ 1, 1, 10, 1 /)113 integer, dimension(nfiles) , save :: flag_fder = (/ 1, 2, 10, 1 /)114 integer, dimension(nfiles) , save :: flag_ffonte = (/ 1, 10, 10, 10 /)115 integer, dimension(nfiles) , save :: flag_fqcalving = (/ 1, 10, 10, 10 /)116 integer, dimension(nfiles) , save :: flag_fqfonte = (/ 1, 10, 10, 10 /)117 118 integer, dimension(nfiles) , save :: flag_taux_sol = (/ 1, 4, 10, 1 /)119 integer, dimension(nfiles) , save :: flag_tauy_sol = (/ 1, 4, 10, 1 /)120 121 integer, dimension(nfiles) , save :: flag_pourc_sol = (/ 1, 4, 10, 1 /)122 integer, dimension(nfiles) , save :: flag_fract_sol = (/ 1, 4, 10, 1 /)123 integer, dimension(nfiles) , save :: flag_tsol_sol = (/ 1, 4, 10, 1 /)124 integer, dimension(nfiles) , save :: flag_sens_sol = (/ 1, 4, 10, 1 /)125 integer, dimension(nfiles) , save :: flag_lat_sol = (/ 1, 4, 10, 1 /)126 integer, dimension(nfiles) , save :: flag_flw_sol = (/ 1, 10, 10, 10 /)127 integer, dimension(nfiles) , save :: flag_fsw_sol = (/ 1, 10, 10, 10 /)128 integer, dimension(nfiles) , save :: flag_wbils_sol = (/ 1, 10, 10, 10 /)129 integer, dimension(nfiles) , save :: flag_wbilo_sol = (/ 1, 10, 10, 10 /)130 131 integer, dimension(nfiles) , save :: flag_cdrm = (/ 1, 10, 10, 1 /)132 integer, dimension(nfiles) , save :: flag_cdrh = (/ 1, 10, 10, 1 /)133 integer, dimension(nfiles) , save :: flag_cldl = (/ 1, 1, 10, 10 /)134 integer, dimension(nfiles) , save :: flag_cldm = (/ 1, 1, 10, 10 /)135 integer, dimension(nfiles) , save :: flag_cldh = (/ 1, 1, 10, 10 /)136 integer, dimension(nfiles) , save :: flag_cldt = (/ 1, 1, 2, 10 /)137 integer, dimension(nfiles) , save :: flag_cldq = (/ 1, 1, 10, 10 /)138 integer, dimension(nfiles) , save :: flag_lwp = (/ 1, 5, 10, 10 /)139 integer, dimension(nfiles) , save :: flag_iwp = (/ 1, 5, 10, 10 /)140 integer, dimension(nfiles) , save :: flag_ue = (/ 1, 10, 10, 10 /)141 integer, dimension(nfiles) , save :: flag_ve = (/ 1, 10, 10, 10 /)142 integer, dimension(nfiles) , save :: flag_uq = (/ 1, 10, 10, 10 /)143 integer, dimension(nfiles) , save :: flag_vq = (/ 1, 10, 10, 10 /)89 ! integer, dimension(nfiles) , save :: flag_LWupTOA = (/ 1, 4, 10, 10, 10 /) 90 ! integer, dimension(nfiles) , save :: flag_LWupTOAclr = (/ 1, 4, 10, 10, 10 /) 91 ! integer, dimension(nfiles) , save :: flag_LWdnTOA = (/ 1, 4, 10, 10, 10 /) 92 ! integer, dimension(nfiles) , save :: flag_LWdnTOAclr = (/ 1, 4, 10, 10, 10 /) 93 94 integer, dimension(nfiles) , save :: flag_LWup200 = (/ 1, 10, 10, 10, 10 /) 95 integer, dimension(nfiles) , save :: flag_LWup200clr = (/ 1, 10, 10, 10, 10 /) 96 integer, dimension(nfiles) , save :: flag_LWdn200 = (/ 1, 10, 10, 10, 10 /) 97 integer, dimension(nfiles) , save :: flag_LWdn200clr = (/ 1, 10, 10, 10, 10 /) 98 integer, dimension(nfiles) , save :: flag_sols = (/ 1, 1, 10, 1, 10 /) 99 integer, dimension(nfiles) , save :: flag_sols0 = (/ 1, 5, 10, 10, 10 /) 100 integer, dimension(nfiles) , save :: flag_soll = (/ 1, 1, 10, 1, 10 /) 101 integer, dimension(nfiles) , save :: flag_soll0 = (/ 1, 5, 10, 10, 10 /) 102 integer, dimension(nfiles) , save :: flag_radsol = (/ 1, 1, 10, 10, 10 /) 103 integer, dimension(nfiles) , save :: flag_SWupSFC = (/ 1, 4, 10, 10, 10 /) 104 integer, dimension(nfiles) , save :: flag_SWupSFCclr = (/ 1, 4, 10, 10, 10 /) 105 integer, dimension(nfiles) , save :: flag_SWdnSFC = (/ 1, 1, 10, 10, 10 /) 106 integer, dimension(nfiles) , save :: flag_SWdnSFCclr = (/ 1, 4, 10, 10, 10 /) 107 integer, dimension(nfiles) , save :: flag_LWupSFC = (/ 1, 4, 10, 10, 10 /) 108 integer, dimension(nfiles) , save :: flag_LWupSFCclr = (/ 1, 4, 10, 10, 10 /) 109 integer, dimension(nfiles) , save :: flag_LWdnSFC = (/ 1, 4, 10, 10, 10 /) 110 integer, dimension(nfiles) , save :: flag_LWdnSFCclr = (/ 1, 4, 10, 10, 10 /) 111 integer, dimension(nfiles) , save :: flag_bils = (/ 1, 2, 10, 1, 10 /) 112 integer, dimension(nfiles) , save :: flag_sens = (/ 1, 1, 10, 1, 1 /) 113 integer, dimension(nfiles) , save :: flag_fder = (/ 1, 2, 10, 1, 10 /) 114 integer, dimension(nfiles) , save :: flag_ffonte = (/ 1, 10, 10, 10, 10 /) 115 integer, dimension(nfiles) , save :: flag_fqcalving = (/ 1, 10, 10, 10, 10 /) 116 integer, dimension(nfiles) , save :: flag_fqfonte = (/ 1, 10, 10, 10, 10 /) 117 118 integer, dimension(nfiles) , save :: flag_taux_sol = (/ 1, 4, 10, 1, 10 /) 119 integer, dimension(nfiles) , save :: flag_tauy_sol = (/ 1, 4, 10, 1, 10 /) 120 121 integer, dimension(nfiles) , save :: flag_pourc_sol = (/ 1, 4, 10, 1, 10 /) 122 integer, dimension(nfiles) , save :: flag_fract_sol = (/ 1, 4, 10, 1, 10 /) 123 integer, dimension(nfiles) , save :: flag_tsol_sol = (/ 1, 4, 10, 1, 10 /) 124 integer, dimension(nfiles) , save :: flag_sens_sol = (/ 1, 4, 10, 1, 10 /) 125 integer, dimension(nfiles) , save :: flag_lat_sol = (/ 1, 4, 10, 1, 10 /) 126 integer, dimension(nfiles) , save :: flag_flw_sol = (/ 1, 10, 10, 10, 10 /) 127 integer, dimension(nfiles) , save :: flag_fsw_sol = (/ 1, 10, 10, 10, 10 /) 128 integer, dimension(nfiles) , save :: flag_wbils_sol = (/ 1, 10, 10, 10, 10 /) 129 integer, dimension(nfiles) , save :: flag_wbilo_sol = (/ 1, 10, 10, 10, 10 /) 130 131 integer, dimension(nfiles) , save :: flag_cdrm = (/ 1, 10, 10, 1, 10 /) 132 integer, dimension(nfiles) , save :: flag_cdrh = (/ 1, 10, 10, 1, 10 /) 133 integer, dimension(nfiles) , save :: flag_cldl = (/ 1, 1, 10, 10, 10 /) 134 integer, dimension(nfiles) , save :: flag_cldm = (/ 1, 1, 10, 10, 10 /) 135 integer, dimension(nfiles) , save :: flag_cldh = (/ 1, 1, 10, 10, 10 /) 136 integer, dimension(nfiles) , save :: flag_cldt = (/ 1, 1, 2, 10, 10 /) 137 integer, dimension(nfiles) , save :: flag_cldq = (/ 1, 1, 10, 10, 10 /) 138 integer, dimension(nfiles) , save :: flag_lwp = (/ 1, 5, 10, 10, 10 /) 139 integer, dimension(nfiles) , save :: flag_iwp = (/ 1, 5, 10, 10, 10 /) 140 integer, dimension(nfiles) , save :: flag_ue = (/ 1, 10, 10, 10, 10 /) 141 integer, dimension(nfiles) , save :: flag_ve = (/ 1, 10, 10, 10, 10 /) 142 integer, dimension(nfiles) , save :: flag_uq = (/ 1, 10, 10, 10, 10 /) 143 integer, dimension(nfiles) , save :: flag_vq = (/ 1, 10, 10, 10, 10 /) 144 144 145 integer, dimension(nfiles) , save :: flag_cape = (/ 1, 10, 10, 10 /)146 integer, dimension(nfiles) , save :: flag_pbase = (/ 1, 10, 10, 10 /)147 integer, dimension(nfiles) , save :: flag_ptop = (/ 1, 4, 10, 10 /)148 integer, dimension(nfiles) , save :: flag_fbase = (/ 1, 10, 10, 10 /)149 integer, dimension(nfiles) , save :: flag_prw = (/ 1, 1, 10, 10 /)150 151 integer, dimension(nfiles) , save :: flag_s_pblh = (/ 1, 10, 10, 1 /)152 integer, dimension(nfiles) , save :: flag_s_pblt = (/ 1, 10, 10, 1 /)153 integer, dimension(nfiles) , save :: flag_s_lcl = (/ 1, 10, 10, 1 /)154 integer, dimension(nfiles) , save :: flag_s_capCL = (/ 1, 10, 10, 1 /)155 integer, dimension(nfiles) , save :: flag_s_oliqCL = (/ 1, 10, 10, 1 /)156 integer, dimension(nfiles) , save :: flag_s_cteiCL = (/ 1, 10, 10, 1 /)157 integer, dimension(nfiles) , save :: flag_s_therm = (/ 1, 10, 10, 1 /)158 integer, dimension(nfiles) , save :: flag_s_trmb1 = (/ 1, 10, 10, 1 /)159 integer, dimension(nfiles) , save :: flag_s_trmb2 = (/ 1, 10, 10, 1 /)160 integer, dimension(nfiles) , save :: flag_s_trmb3 = (/ 1, 10, 10, 1 /)161 162 integer, dimension(nfiles) , save :: flag_slab_bils = (/ 1, 1, 10, 10 /)163 164 integer, dimension(nfiles) , save :: flag_ale_bl = (/ 1, 1, 1, 1 /)165 integer, dimension(nfiles) , save :: flag_alp_bl = (/ 1, 1, 1, 1 /)166 integer, dimension(nfiles) , save :: flag_ale_wk = (/ 1, 1, 1, 1 /)167 integer, dimension(nfiles) , save :: flag_alp_wk = (/ 1, 1, 1, 1 /)168 169 integer, dimension(nfiles) , save :: flag_ale = (/ 1, 1, 1, 1 /)170 integer, dimension(nfiles) , save :: flag_alp = (/ 1, 1, 1, 1 /)171 integer, dimension(nfiles) , save :: flag_cin = (/ 1, 1, 1, 1 /)172 integer, dimension(nfiles) , save :: flag_wape = (/ 1, 1, 1, 1 /)145 integer, dimension(nfiles) , save :: flag_cape = (/ 1, 10, 10, 10, 10 /) 146 integer, dimension(nfiles) , save :: flag_pbase = (/ 1, 10, 10, 10, 10 /) 147 integer, dimension(nfiles) , save :: flag_ptop = (/ 1, 4, 10, 10, 10 /) 148 integer, dimension(nfiles) , save :: flag_fbase = (/ 1, 10, 10, 10, 10 /) 149 integer, dimension(nfiles) , save :: flag_prw = (/ 1, 1, 10, 10, 10 /) 150 151 integer, dimension(nfiles) , save :: flag_s_pblh = (/ 1, 10, 10, 1, 1 /) 152 integer, dimension(nfiles) , save :: flag_s_pblt = (/ 1, 10, 10, 1, 1 /) 153 integer, dimension(nfiles) , save :: flag_s_lcl = (/ 1, 10, 10, 1, 10 /) 154 integer, dimension(nfiles) , save :: flag_s_capCL = (/ 1, 10, 10, 1, 10 /) 155 integer, dimension(nfiles) , save :: flag_s_oliqCL = (/ 1, 10, 10, 1, 10 /) 156 integer, dimension(nfiles) , save :: flag_s_cteiCL = (/ 1, 10, 10, 1, 1 /) 157 integer, dimension(nfiles) , save :: flag_s_therm = (/ 1, 10, 10, 1, 1 /) 158 integer, dimension(nfiles) , save :: flag_s_trmb1 = (/ 1, 10, 10, 1, 10 /) 159 integer, dimension(nfiles) , save :: flag_s_trmb2 = (/ 1, 10, 10, 1, 10 /) 160 integer, dimension(nfiles) , save :: flag_s_trmb3 = (/ 1, 10, 10, 1, 10 /) 161 162 integer, dimension(nfiles) , save :: flag_slab_bils = (/ 1, 1, 10, 10, 10 /) 163 164 integer, dimension(nfiles) , save :: flag_ale_bl = (/ 1, 1, 1, 1, 10 /) 165 integer, dimension(nfiles) , save :: flag_alp_bl = (/ 1, 1, 1, 1, 10 /) 166 integer, dimension(nfiles) , save :: flag_ale_wk = (/ 1, 1, 1, 1, 10 /) 167 integer, dimension(nfiles) , save :: flag_alp_wk = (/ 1, 1, 1, 1, 10 /) 168 169 integer, dimension(nfiles) , save :: flag_ale = (/ 1, 1, 1, 1, 10 /) 170 integer, dimension(nfiles) , save :: flag_alp = (/ 1, 1, 1, 1, 10 /) 171 integer, dimension(nfiles) , save :: flag_cin = (/ 1, 1, 1, 1, 10 /) 172 integer, dimension(nfiles) , save :: flag_wape = (/ 1, 1, 1, 1, 10 /) 173 173 174 174 … … 181 181 ! on ecrit ph a 500 au niv 3 182 182 183 integer, dimension(nfiles) , save :: flag_ulevsSTD = (/ 1, 1, 3, 10 /)184 integer, dimension(nfiles) , save :: flag_vlevsSTD = (/ 1, 1, 3, 10 /)185 integer, dimension(nfiles) , save :: flag_wlevsSTD = (/ 1, 1, 10, 10 /)186 integer, dimension(nfiles) , save :: flag_tlevsSTD = (/ 10, 10, 3, 10 /)187 integer, dimension(nfiles) , save :: flag_qlevsSTD = (/ 10, 10, 3, 10 /)188 integer, dimension(nfiles) , save :: flag_philevsSTD = (/ 1, 1, 1, 10 /)189 190 integer, dimension(nfiles) , save :: flag_t_oce_sic = (/ 1, 10, 10, 10 /)191 192 integer, dimension(nfiles) , save :: flag_weakinv = (/ 10, 1, 10, 10 /)193 integer, dimension(nfiles) , save :: flag_dthmin = (/ 10, 1, 10, 10 /)194 integer, dimension(nfiles) , save :: flag_u10_sol = (/ 10, 4, 10, 10 /)195 integer, dimension(nfiles) , save :: flag_v10_sol = (/ 10, 4, 10, 10 /)196 integer, dimension(nfiles) , save :: flag_cldtau = (/ 10, 5, 10, 10 /)197 integer, dimension(nfiles) , save :: flag_cldemi = (/ 10, 5, 10, 10 /)198 integer, dimension(nfiles) , save :: flag_rh2m = (/ 10, 5, 10, 10 /)199 integer, dimension(nfiles) , save :: flag_qsat2m = (/ 10, 5, 10, 10 /)200 integer, dimension(nfiles) , save :: flag_tpot = (/ 10, 5, 10, 10 /)201 integer, dimension(nfiles) , save :: flag_tpote = (/ 10, 5, 10, 10 /)202 integer, dimension(nfiles) , save :: flag_tke = (/ 4, 10, 10, 10 /)203 integer, dimension(nfiles) , save :: flag_tke_max = (/ 4, 10, 10, 10 /)204 integer, dimension(nfiles) , save :: flag_tke_sol = (/ 10, 4, 10, 10 /)205 integer, dimension(nfiles) , save :: flag_tke_max_sol = (/ 10, 4, 10, 10 /)206 integer, dimension(nfiles) , save :: flag_kz = (/ 4, 10, 10, 10 /)207 integer, dimension(nfiles) , save :: flag_kz_max = (/ 4, 10, 10, 10 /)208 integer, dimension(nfiles) , save :: flag_SWnetOR = (/ 10, 10, 2, 10 /)209 integer, dimension(nfiles) , save :: flag_SWdownOR = (/ 10, 10, 2, 10 /)210 integer, dimension(nfiles) , save :: flag_LWdownOR = (/ 10, 10, 2, 10 /)211 212 integer, dimension(nfiles) , save :: flag_snowl = (/ 10, 1, 10, 10 /)213 integer, dimension(nfiles) , save :: flag_cape_max = (/ 10, 1, 10, 10 /)214 integer, dimension(nfiles) , save :: flag_solldown = (/ 10, 1, 10, 1 /)215 216 integer, dimension(nfiles) , save :: flag_dtsvdfo = (/ 10, 10, 10, 1 /)217 integer, dimension(nfiles) , save :: flag_dtsvdft = (/ 10, 10, 10, 1 /)218 integer, dimension(nfiles) , save :: flag_dtsvdfg = (/ 10, 10, 10, 1 /)219 integer, dimension(nfiles) , save :: flag_dtsvdfi = (/ 10, 10, 10, 1 /)220 integer, dimension(nfiles) , save :: flag_rugs = (/ 10, 10, 10, 1 /)183 integer, dimension(nfiles) , save :: flag_ulevsSTD = (/ 1, 1, 3, 10, 10 /) 184 integer, dimension(nfiles) , save :: flag_vlevsSTD = (/ 1, 1, 3, 10, 10 /) 185 integer, dimension(nfiles) , save :: flag_wlevsSTD = (/ 1, 1, 10, 10, 10 /) 186 integer, dimension(nfiles) , save :: flag_tlevsSTD = (/ 10, 10, 3, 10, 10 /) 187 integer, dimension(nfiles) , save :: flag_qlevsSTD = (/ 10, 10, 3, 10, 10 /) 188 integer, dimension(nfiles) , save :: flag_philevsSTD = (/ 1, 1, 1, 10, 10 /) 189 190 integer, dimension(nfiles) , save :: flag_t_oce_sic = (/ 1, 10, 10, 10, 10 /) 191 192 integer, dimension(nfiles) , save :: flag_weakinv = (/ 10, 1, 10, 10, 10 /) 193 integer, dimension(nfiles) , save :: flag_dthmin = (/ 10, 1, 10, 10, 10 /) 194 integer, dimension(nfiles) , save :: flag_u10_sol = (/ 10, 4, 10, 10, 10 /) 195 integer, dimension(nfiles) , save :: flag_v10_sol = (/ 10, 4, 10, 10, 10 /) 196 integer, dimension(nfiles) , save :: flag_cldtau = (/ 10, 5, 10, 10, 10 /) 197 integer, dimension(nfiles) , save :: flag_cldemi = (/ 10, 5, 10, 10, 10 /) 198 integer, dimension(nfiles) , save :: flag_rh2m = (/ 10, 5, 10, 10, 10 /) 199 integer, dimension(nfiles) , save :: flag_qsat2m = (/ 10, 5, 10, 10, 10 /) 200 integer, dimension(nfiles) , save :: flag_tpot = (/ 10, 5, 10, 10, 10 /) 201 integer, dimension(nfiles) , save :: flag_tpote = (/ 10, 5, 10, 10, 10 /) 202 integer, dimension(nfiles) , save :: flag_tke = (/ 4, 10, 10, 10, 10 /) 203 integer, dimension(nfiles) , save :: flag_tke_max = (/ 4, 10, 10, 10, 10 /) 204 integer, dimension(nfiles) , save :: flag_tke_sol = (/ 10, 4, 10, 10, 10 /) 205 integer, dimension(nfiles) , save :: flag_tke_max_sol = (/ 10, 4, 10, 10, 10 /) 206 integer, dimension(nfiles) , save :: flag_kz = (/ 4, 10, 10, 10, 10 /) 207 integer, dimension(nfiles) , save :: flag_kz_max = (/ 4, 10, 10, 10, 10 /) 208 integer, dimension(nfiles) , save :: flag_SWnetOR = (/ 10, 10, 2, 10, 10 /) 209 integer, dimension(nfiles) , save :: flag_SWdownOR = (/ 10, 10, 2, 10, 10 /) 210 integer, dimension(nfiles) , save :: flag_LWdownOR = (/ 10, 10, 2, 10, 10 /) 211 212 integer, dimension(nfiles) , save :: flag_snowl = (/ 10, 1, 10, 10, 10 /) 213 integer, dimension(nfiles) , save :: flag_cape_max = (/ 10, 1, 10, 10, 10 /) 214 integer, dimension(nfiles) , save :: flag_solldown = (/ 10, 1, 10, 1, 10 /) 215 216 integer, dimension(nfiles) , save :: flag_dtsvdfo = (/ 10, 10, 10, 1, 10 /) 217 integer, dimension(nfiles) , save :: flag_dtsvdft = (/ 10, 10, 10, 1, 10 /) 218 integer, dimension(nfiles) , save :: flag_dtsvdfg = (/ 10, 10, 10, 1, 10 /) 219 integer, dimension(nfiles) , save :: flag_dtsvdfi = (/ 10, 10, 10, 1, 10 /) 220 integer, dimension(nfiles) , save :: flag_rugs = (/ 10, 10, 10, 1, 1 /) 221 221 222 222 !!!!!!!!!!!!!!!!!!!!!! 3D !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 223 integer, dimension(nfiles) , save :: flag_lwcon = (/ 2, 5, 10, 10 /)224 integer, dimension(nfiles) , save :: flag_iwcon = (/ 2, 5, 10, 10 /)225 integer, dimension(nfiles) , save :: flag_temp = (/ 2, 3, 4, 1 /)226 integer, dimension(nfiles) , save :: flag_theta = (/ 2, 3, 4, 1 /)227 integer, dimension(nfiles) , save :: flag_ovap = (/ 2, 3, 4, 1 /)228 integer, dimension(nfiles) , save :: flag_wvapp = (/ 2, 10, 10, 10 /)229 integer, dimension(nfiles) , save :: flag_geop = (/ 2, 3, 10, 1 /)230 integer, dimension(nfiles) , save :: flag_vitu = (/ 2, 3, 4, 1 /)231 integer, dimension(nfiles) , save :: flag_vitv = (/ 2, 3, 4, 1 /)232 integer, dimension(nfiles) , save :: flag_vitw = (/ 2, 3, 10, 10 /)233 integer, dimension(nfiles) , save :: flag_pres = (/ 2, 3, 10, 1 /)234 integer, dimension(nfiles) , save :: flag_rneb = (/ 2, 5, 10, 10 /)235 integer, dimension(nfiles) , save :: flag_rnebcon = (/ 2, 5, 10, 10 /)236 integer, dimension(nfiles) , save :: flag_rhum = (/ 2, 10, 10, 10 /)237 integer, dimension(nfiles) , save :: flag_ozone = (/ 2, 10, 10, 10 /)238 integer, dimension(nfiles) , save :: flag_upwd = (/ 2, 10, 10, 10 /)239 integer, dimension(nfiles) , save :: flag_dtphy = (/ 2, 10, 10, 10 /)240 integer, dimension(nfiles) , save :: flag_dqphy = (/ 2, 10, 10, 10 /)241 integer, dimension(nfiles) , save :: flag_pr_con_l = (/ 2, 10, 10, 10 /)242 integer, dimension(nfiles) , save :: flag_pr_con_i = (/ 2, 10, 10, 10 /)243 integer, dimension(nfiles) , save :: flag_pr_lsc_l = (/ 2, 10, 10, 10 /)244 integer, dimension(nfiles) , save :: flag_pr_lsc_i = (/ 2, 10, 10, 10 /)223 integer, dimension(nfiles) , save :: flag_lwcon = (/ 2, 5, 10, 10, 1 /) 224 integer, dimension(nfiles) , save :: flag_iwcon = (/ 2, 5, 10, 10, 10 /) 225 integer, dimension(nfiles) , save :: flag_temp = (/ 2, 3, 4, 1, 1 /) 226 integer, dimension(nfiles) , save :: flag_theta = (/ 2, 3, 4, 1, 1 /) 227 integer, dimension(nfiles) , save :: flag_ovap = (/ 2, 3, 4, 1, 1 /) 228 integer, dimension(nfiles) , save :: flag_wvapp = (/ 2, 10, 10, 10, 10 /) 229 integer, dimension(nfiles) , save :: flag_geop = (/ 2, 3, 10, 1, 1 /) 230 integer, dimension(nfiles) , save :: flag_vitu = (/ 2, 3, 4, 1, 1 /) 231 integer, dimension(nfiles) , save :: flag_vitv = (/ 2, 3, 4, 1, 1 /) 232 integer, dimension(nfiles) , save :: flag_vitw = (/ 2, 3, 10, 10, 1 /) 233 integer, dimension(nfiles) , save :: flag_pres = (/ 2, 3, 10, 1, 1 /) 234 integer, dimension(nfiles) , save :: flag_rneb = (/ 2, 5, 10, 10, 1 /) 235 integer, dimension(nfiles) , save :: flag_rnebcon = (/ 2, 5, 10, 10, 1 /) 236 integer, dimension(nfiles) , save :: flag_rhum = (/ 2, 10, 10, 10, 10 /) 237 integer, dimension(nfiles) , save :: flag_ozone = (/ 2, 10, 10, 10, 10 /) 238 integer, dimension(nfiles) , save :: flag_upwd = (/ 2, 10, 10, 10, 10 /) 239 integer, dimension(nfiles) , save :: flag_dtphy = (/ 2, 10, 10, 10, 1 /) 240 integer, dimension(nfiles) , save :: flag_dqphy = (/ 2, 10, 10, 10, 1 /) 241 integer, dimension(nfiles) , save :: flag_pr_con_l = (/ 2, 10, 10, 10, 10 /) 242 integer, dimension(nfiles) , save :: flag_pr_con_i = (/ 2, 10, 10, 10, 10 /) 243 integer, dimension(nfiles) , save :: flag_pr_lsc_l = (/ 2, 10, 10, 10, 10 /) 244 integer, dimension(nfiles) , save :: flag_pr_lsc_i = (/ 2, 10, 10, 10, 10 /) 245 245 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 246 246 247 integer, dimension(nfiles) , save :: flag_albe_sol = (/ 3, 4, 10, 1 /) 248 integer, dimension(nfiles) , save :: flag_ages_sol = (/ 3, 10, 10, 10 /) 249 integer, dimension(nfiles) , save :: flag_rugs_sol = (/ 3, 4, 10, 1 /) 250 251 integer, dimension(nfiles) , save :: flag_albs = (/ 3, 10, 10, 1 /) 252 integer, dimension(nfiles) , save :: flag_albslw = (/ 3, 10, 10, 1 /) 253 254 integer, dimension(nfiles) , save :: flag_clwcon = (/ 4, 10, 10, 10 /) 255 integer, dimension(nfiles) , save :: flag_Ma = (/ 4, 10, 10, 10 /) 256 integer, dimension(nfiles) , save :: flag_dnwd = (/ 4, 10, 10, 10 /) 257 integer, dimension(nfiles) , save :: flag_dnwd0 = (/ 4, 10, 10, 10 /) 258 integer, dimension(nfiles) , save :: flag_dtdyn = (/ 4, 10, 10, 10 /) 259 integer, dimension(nfiles) , save :: flag_dqdyn = (/ 4, 10, 10, 10 /) 260 integer, dimension(nfiles) , save :: flag_dtcon = (/ 4, 5, 10, 10 /) 261 integer, dimension(nfiles) , save :: flag_ducon = (/ 4, 10, 10, 10 /) 262 integer, dimension(nfiles) , save :: flag_dqcon = (/ 4, 5, 10, 10 /) 263 integer, dimension(nfiles) , save :: flag_dtwak = (/ 4, 5, 10, 10 /) 264 integer, dimension(nfiles) , save :: flag_dqwak = (/ 4, 5, 10, 10 /) 265 integer, dimension(nfiles) , save :: flag_dtlsc = (/ 4, 10, 10, 10 /) 266 integer, dimension(nfiles) , save :: flag_dtlschr = (/ 4, 10, 10, 10 /) 267 integer, dimension(nfiles) , save :: flag_dqlsc = (/ 4, 10, 10, 10 /) 268 integer, dimension(nfiles) , save :: flag_dtvdf = (/ 4, 10, 10, 1 /) 269 integer, dimension(nfiles) , save :: flag_dqvdf = (/ 4, 10, 10, 1 /) 270 integer, dimension(nfiles) , save :: flag_dteva = (/ 4, 10, 10, 10 /) 271 integer, dimension(nfiles) , save :: flag_dqeva = (/ 4, 10, 10, 10 /) 272 integer, dimension(nfiles) , save :: flag_ptconv = (/ 4, 10, 10, 10 /) 273 integer, dimension(nfiles) , save :: flag_ratqs = (/ 4, 10, 10, 10 /) 274 integer, dimension(nfiles) , save :: flag_dtthe = (/ 4, 10, 10, 10 /) 275 integer, dimension(nfiles) , save :: flag_f_th = (/ 4, 10, 10, 10 /) 276 integer, dimension(nfiles) , save :: flag_e_th = (/ 4, 10, 10, 10 /) 277 integer, dimension(nfiles) , save :: flag_w_th = (/ 4, 10, 10, 10 /) 278 integer, dimension(nfiles) , save :: flag_lambda_th = (/ 4, 10, 10, 10 /) 279 integer, dimension(nfiles) , save :: flag_q_th = (/ 4, 10, 10, 10 /) 280 integer, dimension(nfiles) , save :: flag_a_th = (/ 4, 10, 10, 10 /) 281 integer, dimension(nfiles) , save :: flag_d_th = (/ 4, 10, 10, 10 /) 282 integer, dimension(nfiles) , save :: flag_f0_th = (/ 4, 10, 10, 10 /) 283 integer, dimension(nfiles) , save :: flag_zmax_th = (/ 4, 10, 10, 10 /) 284 integer, dimension(nfiles) , save :: flag_dqthe = (/ 4, 10, 10, 10 /) 285 integer, dimension(nfiles) , save :: flag_dtajs = (/ 4, 10, 10, 10 /) 286 integer, dimension(nfiles) , save :: flag_dqajs = (/ 4, 10, 10, 10 /) 287 integer, dimension(nfiles) , save :: flag_dtswr = (/ 4, 10, 10, 10 /) 288 integer, dimension(nfiles) , save :: flag_dtsw0 = (/ 4, 10, 10, 10 /) 289 integer, dimension(nfiles) , save :: flag_dtlwr = (/ 4, 10, 10, 10 /) 290 integer, dimension(nfiles) , save :: flag_dtlw0 = (/ 4, 10, 10, 10 /) 291 integer, dimension(nfiles) , save :: flag_dtec = (/ 4, 10, 10, 10 /) 292 integer, dimension(nfiles) , save :: flag_duvdf = (/ 4, 10, 10, 10 /) 293 integer, dimension(nfiles) , save :: flag_dvvdf = (/ 4, 10, 10, 10 /) 294 integer, dimension(nfiles) , save :: flag_duoro = (/ 4, 10, 10, 10 /) 295 integer, dimension(nfiles) , save :: flag_dvoro = (/ 4, 10, 10, 10 /) 296 integer, dimension(nfiles) , save :: flag_dulif = (/ 4, 10, 10, 10 /) 297 integer, dimension(nfiles) , save :: flag_dvlif = (/ 4, 10, 10, 10 /) 298 integer, dimension(nfiles) , save :: flag_trac = (/ 4, 10, 10, 10 /) 247 integer, dimension(nfiles) , save :: flag_albe_sol = (/ 3, 4, 10, 1, 10 /) 248 integer, dimension(nfiles) , save :: flag_ages_sol = (/ 3, 10, 10, 10, 10 /) 249 integer, dimension(nfiles) , save :: flag_rugs_sol = (/ 3, 4, 10, 1, 10 /) 250 251 integer, dimension(nfiles) , save :: flag_albs = (/ 3, 10, 10, 1, 10 /) 252 integer, dimension(nfiles) , save :: flag_albslw = (/ 3, 10, 10, 1, 10 /) 253 254 integer, dimension(nfiles) , save :: flag_clwcon = (/ 4, 10, 10, 10, 10 /) 255 integer, dimension(nfiles) , save :: flag_Ma = (/ 4, 10, 10, 10, 10 /) 256 integer, dimension(nfiles) , save :: flag_dnwd = (/ 4, 10, 10, 10, 10 /) 257 integer, dimension(nfiles) , save :: flag_dnwd0 = (/ 4, 10, 10, 10, 10 /) 258 integer, dimension(nfiles) , save :: flag_dtdyn = (/ 4, 10, 10, 10, 1 /) 259 integer, dimension(nfiles) , save :: flag_dqdyn = (/ 4, 10, 10, 10, 1 /) 260 integer, dimension(nfiles) , save :: flag_dudyn = (/ 4, 10, 10, 10, 1 /) !AXC 261 integer, dimension(nfiles) , save :: flag_dvdyn = (/ 4, 10, 10, 10, 1 /) !AXC 262 integer, dimension(nfiles) , save :: flag_dtcon = (/ 4, 5, 10, 10, 10 /) 263 integer, dimension(nfiles) , save :: flag_ducon = (/ 4, 10, 10, 10, 10 /) 264 integer, dimension(nfiles) , save :: flag_dqcon = (/ 4, 5, 10, 10, 10 /) 265 integer, dimension(nfiles) , save :: flag_dtwak = (/ 4, 5, 10, 10, 10 /) 266 integer, dimension(nfiles) , save :: flag_dqwak = (/ 4, 5, 10, 10, 10 /) 267 integer, dimension(nfiles) , save :: flag_dtlsc = (/ 4, 10, 10, 10, 10 /) 268 integer, dimension(nfiles) , save :: flag_dtlschr = (/ 4, 10, 10, 10, 10 /) 269 integer, dimension(nfiles) , save :: flag_dqlsc = (/ 4, 10, 10, 10, 10 /) 270 integer, dimension(nfiles) , save :: flag_dtvdf = (/ 4, 10, 10, 1, 10 /) 271 integer, dimension(nfiles) , save :: flag_dqvdf = (/ 4, 10, 10, 1, 10 /) 272 integer, dimension(nfiles) , save :: flag_dteva = (/ 4, 10, 10, 10, 10 /) 273 integer, dimension(nfiles) , save :: flag_dqeva = (/ 4, 10, 10, 10, 10 /) 274 integer, dimension(nfiles) , save :: flag_ptconv = (/ 4, 10, 10, 10, 10 /) 275 integer, dimension(nfiles) , save :: flag_ratqs = (/ 4, 10, 10, 10, 10 /) 276 integer, dimension(nfiles) , save :: flag_dtthe = (/ 4, 10, 10, 10, 10 /) 277 integer, dimension(nfiles) , save :: flag_f_th = (/ 4, 10, 10, 10, 10 /) 278 integer, dimension(nfiles) , save :: flag_e_th = (/ 4, 10, 10, 10, 10 /) 279 integer, dimension(nfiles) , save :: flag_w_th = (/ 4, 10, 10, 10, 10 /) 280 integer, dimension(nfiles) , save :: flag_lambda_th = (/ 4, 10, 10, 10, 10 /) 281 integer, dimension(nfiles) , save :: flag_q_th = (/ 4, 10, 10, 10, 10 /) 282 integer, dimension(nfiles) , save :: flag_a_th = (/ 4, 10, 10, 10, 10 /) 283 integer, dimension(nfiles) , save :: flag_d_th = (/ 4, 10, 10, 10, 10 /) 284 integer, dimension(nfiles) , save :: flag_f0_th = (/ 4, 10, 10, 10, 10 /) 285 integer, dimension(nfiles) , save :: flag_zmax_th = (/ 4, 10, 10, 10, 10 /) 286 integer, dimension(nfiles) , save :: flag_dqthe = (/ 4, 10, 10, 10, 1 /) 287 integer, dimension(nfiles) , save :: flag_dtajs = (/ 4, 10, 10, 10, 10 /) 288 integer, dimension(nfiles) , save :: flag_dqajs = (/ 4, 10, 10, 10, 10 /) 289 integer, dimension(nfiles) , save :: flag_dtswr = (/ 4, 10, 10, 10, 1 /) 290 integer, dimension(nfiles) , save :: flag_dtsw0 = (/ 4, 10, 10, 10, 10 /) 291 integer, dimension(nfiles) , save :: flag_dtlwr = (/ 4, 10, 10, 10, 1 /) 292 integer, dimension(nfiles) , save :: flag_dtlw0 = (/ 4, 10, 10, 10, 10 /) 293 integer, dimension(nfiles) , save :: flag_dtec = (/ 4, 10, 10, 10, 10 /) 294 integer, dimension(nfiles) , save :: flag_duvdf = (/ 4, 10, 10, 10, 10 /) 295 integer, dimension(nfiles) , save :: flag_dvvdf = (/ 4, 10, 10, 10, 10 /) 296 integer, dimension(nfiles) , save :: flag_duoro = (/ 4, 10, 10, 10, 10 /) 297 integer, dimension(nfiles) , save :: flag_dvoro = (/ 4, 10, 10, 10, 10 /) 298 integer, dimension(nfiles) , save :: flag_dulif = (/ 4, 10, 10, 10, 10 /) 299 integer, dimension(nfiles) , save :: flag_dvlif = (/ 4, 10, 10, 10, 10 /) 300 integer, dimension(nfiles) , save :: flag_trac = (/ 4, 10, 10, 10, 10 /) 299 301 300 302 CONTAINS … … 307 309 SUBROUTINE phys_output_open(jjmp1,nqmax,nlevSTD,clevSTD,nbteta, & 308 310 ctetaSTD,dtime, presnivs, ok_veget, & 309 ocean, iflag_pbl,ok_mensuel,ok_journe, & 310 ok_hf,ok_instan, nid_fil)311 ocean, iflag_pbl,ok_mensuel,ok_journe, & 312 ok_hf,ok_instan,ok_LES, nid_fil) 311 313 312 314 USE iophy … … 326 328 integer :: nbteta, nlevSTD, radpas 327 329 logical :: ok_mensuel, ok_journe, ok_hf, ok_instan 330 logical :: ok_LES 328 331 real :: dtime 329 332 integer :: idayref … … 345 348 integer :: imin_ins, imax_ins 346 349 integer :: jmin_ins, jmax_ins 350 integer, dimension(nfiles) :: lvlmax_reg 351 352 lvlmax_reg = (/ klev, klev, klev, klev, 17 /) 347 353 348 354 name_files(1) = 'histmth' … … 350 356 name_files(3) = 'histhf' 351 357 name_files(4) = 'histins' 358 name_files(5) = 'histLES' 352 359 353 360 type_ecri(1) = 'ave(X)' … … 355 362 type_ecri(3) = 'ave(X)' 356 363 type_ecri(4) = 'inst(X)' 364 type_ecri(5) = 'ave(X)' 357 365 358 366 clef_files(1) = ok_mensuel … … 360 368 clef_files(3) = ok_hf 361 369 clef_files(4) = ok_instan 370 clef_files(5) = ok_LES 362 371 363 372 lev_files(1) = lev_histmth … … 365 374 lev_files(3) = lev_histhf 366 375 lev_files(4) = 1 376 lev_files(5) = 1 367 377 368 378 ecrit_files(1) = ecrit_mth … … 370 380 ecrit_files(3) = ecrit_hf 371 381 ecrit_files(4) = ecrit_ins 382 ecrit_files(5) = ecrit_LES 372 383 373 384 !!!!!!!!!!!!!!!!!!!!!!! Boucle sur les fichiers !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! … … 389 400 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 390 401 if (ok_reglim(iff)) then 402 403 klev = lvlmax_reg(iff) 391 404 392 405 imin_ins=1 … … 675 688 CALL histdef3d(iff,flag_dtdyn,"dtdyn","Dynamics dT","K/s") 676 689 CALL histdef3d(iff,flag_dqdyn,"dqdyn","Dynamics dQ", "(kg/kg)/s") 690 CALL histdef3d(iff,flag_dudyn,"dudyn","Dynamics dU","m/s2") 691 CALL histdef3d(iff,flag_dvdyn,"dvdyn","Dynamics dV","m/s2") 677 692 CALL histdef3d(iff,flag_dtcon,"dtcon","Convection dT","K/s") 678 693 CALL histdef3d(iff,flag_ducon,"ducon","Convection du","m/s2") … … 742 757 743 758 ENDDO ! 759 klev = lvlmax_reg(1) 760 744 761 end subroutine phys_output_open 745 762 -
LMDZ4/trunk/libf/phylmd/phys_output_write.h
r1045 r1054 915 915 ENDIF 916 916 917 IF (flag_dudyn(iff)<=lev_files(iff)) THEN 918 CALL histwrite_phy(nid_files(iff),"dudyn",itau_w,d_u_dyn) 919 ENDIF 920 921 IF (flag_dvdyn(iff)<=lev_files(iff)) THEN 922 CALL histwrite_phy(nid_files(iff),"dvdyn",itau_w,d_v_dyn) 923 ENDIF 924 917 925 IF (flag_dtcon(iff)<=lev_files(iff)) THEN 918 926 zx_tmp_fi3d(1:klon,1:klev)=d_t_con(1:klon,1:klev)/pdtphys -
LMDZ4/trunk/libf/phylmd/phys_state_var_mod.F90
r970 r1054 45 45 REAL, ALLOCATABLE, SAVE :: t_ancien(:,:), q_ancien(:,:) 46 46 !$OMP THREADPRIVATE(t_ancien, q_ancien) 47 REAL, ALLOCATABLE, SAVE :: u_ancien(:,:), v_ancien(:,:) 48 !$OMP THREADPRIVATE(u_ancien, v_ancien) 47 49 LOGICAL, SAVE :: ancien_ok 48 50 !$OMP THREADPRIVATE(ancien_ok) … … 325 327 ALLOCATE(rugoro(klon)) 326 328 ALLOCATE(t_ancien(klon,klev), q_ancien(klon,klev)) 329 ALLOCATE(u_ancien(klon,klev), v_ancien(klon,klev)) 327 330 ALLOCATE(clwcon(klon,klev),rnebcon(klon,klev)) 328 331 ALLOCATE(ratqs(klon,klev)) … … 437 440 deallocate(zthe, zpic, zval) 438 441 deallocate(rugoro, t_ancien, q_ancien, clwcon, rnebcon) 442 deallocate( u_ancien, v_ancien ) 439 443 deallocate(ratqs, pbl_tke) 440 444 deallocate(zmax0, f0) -
LMDZ4/trunk/libf/phylmd/physiq.F
r1045 r1054 153 153 c$OMP THREADPRIVATE(ok_instan) 154 154 c 155 LOGICAL ok_LES ! sortir le fichier LES 156 save ok_LES 157 c$OMP THREADPRIVATE(ok_LES) 158 c 155 159 LOGICAL ok_region ! sortir le fichier regional 156 160 PARAMETER (ok_region=.FALSE.) … … 1241 1245 call conf_phys(ok_journe, ok_mensuel, 1242 1246 . ok_instan, ok_hf, 1247 . ok_LES, 1243 1248 . solarlong0,seuil_inversion, 1244 1249 . fact_cldcon, facttemps,ok_newmicro,iflag_radia, … … 1476 1481 ecrit_tra = ecrit_tra * un_jour 1477 1482 ecrit_ISCCP = ecrit_ISCCP * un_jour 1483 ecrit_LES = ecrit_LES * un_jour 1478 1484 c 1479 1485 PRINT*,'physiq ecrit_ hf day mth reg tra ISCCP hf2mth', … … 1521 1527 & ctetaSTD,dtime,presnivs,ok_veget, 1522 1528 & type_ocean,iflag_pbl,ok_mensuel,ok_journe, 1523 & ok_hf,ok_instan, nid_files)1529 & ok_hf,ok_instan,ok_LES,nid_files) 1524 1530 c$OMP END MASTER 1525 1531 c$OMP BARRIER … … 1697 1703 DO k = 1, klev 1698 1704 DO i = 1, klon 1705 d_u_dyn(i,k) = (u_seri(i,k)-u_ancien(i,k))/dtime 1706 d_v_dyn(i,k) = (v_seri(i,k)-v_ancien(i,k))/dtime 1699 1707 d_t_dyn(i,k) = (t_seri(i,k)-t_ancien(i,k))/dtime 1700 1708 d_q_dyn(i,k) = (q_seri(i,k)-q_ancien(i,k))/dtime … … 1704 1712 DO k = 1, klev 1705 1713 DO i = 1, klon 1714 d_u_dyn(i,k) = 0.0 1715 d_v_dyn(i,k) = 0.0 1706 1716 d_t_dyn(i,k) = 0.0 1707 1717 d_q_dyn(i,k) = 0.0 … … 3387 3397 DO k = 1, klev 3388 3398 DO i = 1, klon 3399 u_ancien(i,k) = u_seri(i,k) 3400 v_ancien(i,k) = v_seri(i,k) 3389 3401 t_ancien(i,k) = t_seri(i,k) 3390 3402 q_ancien(i,k) = q_seri(i,k)
Note: See TracChangeset
for help on using the changeset viewer.