- Timestamp:
- Jun 26, 2009, 5:10:47 PM (15 years ago)
- Location:
- LMDZ4/branches/LMDZ4-dev/libf/phylmd
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ4/branches/LMDZ4-dev/libf/phylmd/phys_output_mod.F90
r1189 r1196 22 22 integer, dimension(nfiles), save :: lev_files 23 23 integer, dimension(nfiles), save :: nid_files 24 ! !$OMP THREADPRIVATE(clef_files, lev_files,nid_files)24 !$OMP THREADPRIVATE(clef_files, lev_files,nid_files) 25 25 26 26 integer, dimension(nfiles), private, save :: nhorim, nvertm 27 integer, dimension(nfiles), private, save :: nvertap, nvertbp, nvertLev, nvertAlt 27 28 real, dimension(nfiles), private, save :: zoutm 28 29 real, private, save :: zdtime … … 45 46 END TYPE ctrl_out 46 47 48 !!! Ap et Bp 49 type(ctrl_out) :: o_Ap = ctrl_out((/ 1, 1, 1, 1, 1 /), 'Ap') 50 type(ctrl_out) :: o_Bp = ctrl_out((/ 1, 1, 1, 1, 1 /), 'Bp') 51 type(ctrl_out) :: o_Lev = ctrl_out((/ 1, 1, 1, 1, 1 /), 'Lev') 52 type(ctrl_out) :: o_Alt = ctrl_out((/ 1, 1, 1, 1, 1 /), 'Alt') 47 53 48 54 !!! 1D 49 type(ctrl_out) ,save:: o_phis = ctrl_out((/ 1, 1, 10, 1, 1 /), 'phis')50 type(ctrl_out) ,save:: o_aire = ctrl_out((/ 1, 1, 10, 1, 1 /),'aire')51 type(ctrl_out) ,save:: o_contfracATM = ctrl_out((/ 10, 1, 1, 10, 10 /),'contfracATM')52 type(ctrl_out) ,save:: o_contfracOR = ctrl_out((/ 10, 1, 1, 10, 10 /),'contfracOR')53 type(ctrl_out) ,save:: o_aireTER = ctrl_out((/ 10, 10, 1, 10, 10 /),'aireTER')55 type(ctrl_out) :: o_phis = ctrl_out((/ 1, 1, 10, 1, 1 /), 'phis') 56 type(ctrl_out) :: o_aire = ctrl_out((/ 1, 1, 10, 1, 1 /),'aire') 57 type(ctrl_out) :: o_contfracATM = ctrl_out((/ 10, 1, 1, 10, 10 /),'contfracATM') 58 type(ctrl_out) :: o_contfracOR = ctrl_out((/ 10, 1, 1, 10, 10 /),'contfracOR') 59 type(ctrl_out) :: o_aireTER = ctrl_out((/ 10, 10, 1, 10, 10 /),'aireTER') 54 60 55 61 !!! 2D 56 type(ctrl_out) ,save:: o_flat = ctrl_out((/ 10, 1, 10, 10, 1 /),'flat')57 type(ctrl_out) ,save:: o_slp = ctrl_out((/ 1, 1, 1, 10, 1 /),'slp')58 type(ctrl_out) ,save:: o_tsol = ctrl_out((/ 1, 1, 1, 1, 1 /),'tsol')59 type(ctrl_out) ,save:: o_t2m = ctrl_out((/ 1, 1, 1, 1, 1 /),'t2m')60 type(ctrl_out) ,save:: o_t2m_min = ctrl_out((/ 1, 1, 10, 10, 10 /),'t2m_min')61 type(ctrl_out) ,save:: o_t2m_max = ctrl_out((/ 1, 1, 10, 10, 10 /),'t2m_max')62 type(ctrl_out), save,dimension(4) :: o_t2m_srf = (/ ctrl_out((/ 10, 4, 10, 10, 10 /),'t2m_ter'), &62 type(ctrl_out) :: o_flat = ctrl_out((/ 10, 1, 10, 10, 1 /),'flat') 63 type(ctrl_out) :: o_slp = ctrl_out((/ 1, 1, 1, 10, 1 /),'slp') 64 type(ctrl_out) :: o_tsol = ctrl_out((/ 1, 1, 1, 1, 1 /),'tsol') 65 type(ctrl_out) :: o_t2m = ctrl_out((/ 1, 1, 1, 1, 1 /),'t2m') 66 type(ctrl_out) :: o_t2m_min = ctrl_out((/ 1, 1, 10, 10, 10 /),'t2m_min') 67 type(ctrl_out) :: o_t2m_max = ctrl_out((/ 1, 1, 10, 10, 10 /),'t2m_max') 68 type(ctrl_out),dimension(4) :: o_t2m_srf = (/ ctrl_out((/ 10, 4, 10, 10, 10 /),'t2m_ter'), & 63 69 ctrl_out((/ 10, 4, 10, 10, 10 /),'t2m_lic'), & 64 70 ctrl_out((/ 10, 4, 10, 10, 10 /),'t2m_oce'), & 65 71 ctrl_out((/ 10, 4, 10, 10, 10 /),'t2m_sic') /) 66 72 67 type(ctrl_out) ,save:: o_wind10m = ctrl_out((/ 1, 1, 1, 10, 10 /),'wind10m')68 type(ctrl_out) ,save:: o_wind10max = ctrl_out((/ 10, 1, 10, 10, 10 /),'wind10max')69 type(ctrl_out) ,save:: o_sicf = ctrl_out((/ 1, 1, 10, 10, 10 /),'sicf')70 type(ctrl_out) ,save:: o_q2m = ctrl_out((/ 1, 1, 1, 1, 1 /),'q2m')71 type(ctrl_out) ,save:: o_u10m = ctrl_out((/ 1, 1, 1, 1, 1 /),'u10m')72 type(ctrl_out) ,save:: o_v10m = ctrl_out((/ 1, 1, 1, 1, 1 /),'v10m')73 type(ctrl_out) ,save:: o_psol = ctrl_out((/ 1, 1, 1, 1, 1 /),'psol')74 type(ctrl_out) ,save:: o_qsurf = ctrl_out((/ 1, 10, 10, 10, 10 /),'qsurf')75 76 type(ctrl_out), save,dimension(4) :: o_u10m_srf = (/ ctrl_out((/ 10, 4, 10, 10, 10 /),'u10m_ter'), &73 type(ctrl_out) :: o_wind10m = ctrl_out((/ 1, 1, 1, 10, 10 /),'wind10m') 74 type(ctrl_out) :: o_wind10max = ctrl_out((/ 10, 1, 10, 10, 10 /),'wind10max') 75 type(ctrl_out) :: o_sicf = ctrl_out((/ 1, 1, 10, 10, 10 /),'sicf') 76 type(ctrl_out) :: o_q2m = ctrl_out((/ 1, 1, 1, 1, 1 /),'q2m') 77 type(ctrl_out) :: o_u10m = ctrl_out((/ 1, 1, 1, 1, 1 /),'u10m') 78 type(ctrl_out) :: o_v10m = ctrl_out((/ 1, 1, 1, 1, 1 /),'v10m') 79 type(ctrl_out) :: o_psol = ctrl_out((/ 1, 1, 1, 1, 1 /),'psol') 80 type(ctrl_out) :: o_qsurf = ctrl_out((/ 1, 10, 10, 10, 10 /),'qsurf') 81 82 type(ctrl_out),dimension(4) :: o_u10m_srf = (/ ctrl_out((/ 10, 4, 10, 10, 10 /),'u10m_ter'), & 77 83 ctrl_out((/ 10, 4, 10, 10, 10 /),'u10m_lic'), & 78 84 ctrl_out((/ 10, 4, 10, 10, 10 /),'u10m_oce'), & 79 85 ctrl_out((/ 10, 4, 10, 10, 10 /),'u10m_sic') /) 80 86 81 type(ctrl_out), save,dimension(4) :: o_v10m_srf = (/ ctrl_out((/ 10, 4, 10, 10, 10 /),'v10m_ter'), &87 type(ctrl_out),dimension(4) :: o_v10m_srf = (/ ctrl_out((/ 10, 4, 10, 10, 10 /),'v10m_ter'), & 82 88 ctrl_out((/ 10, 4, 10, 10, 10 /),'v10m_lic'), & 83 89 ctrl_out((/ 10, 4, 10, 10, 10 /),'v10m_oce'), & 84 90 ctrl_out((/ 10, 4, 10, 10, 10 /),'v10m_sic') /) 85 91 86 type(ctrl_out) ,save:: o_qsol = ctrl_out((/ 1, 10, 10, 1, 1 /),'qsol')87 88 type(ctrl_out) ,save:: o_ndayrain = ctrl_out((/ 1, 10, 10, 10, 10 /),'ndayrain')89 type(ctrl_out) ,save:: o_precip = ctrl_out((/ 1, 1, 1, 1, 1 /),'precip')90 type(ctrl_out) ,save:: o_plul = ctrl_out((/ 1, 1, 1, 1, 10 /),'plul')91 92 type(ctrl_out) ,save:: o_pluc = ctrl_out((/ 1, 1, 1, 1, 10 /),'pluc')93 type(ctrl_out) ,save:: o_snow = ctrl_out((/ 1, 1, 10, 1, 10 /),'snow')94 type(ctrl_out) ,save:: o_evap = ctrl_out((/ 1, 1, 10, 1, 10 /),'evap')95 type(ctrl_out) ,save:: o_tops = ctrl_out((/ 1, 1, 10, 10, 10 /),'tops')96 type(ctrl_out) ,save:: o_tops0 = ctrl_out((/ 1, 5, 10, 10, 10 /),'tops0')97 type(ctrl_out) ,save:: o_topl = ctrl_out((/ 1, 1, 10, 1, 10 /),'topl')98 type(ctrl_out) ,save:: o_topl0 = ctrl_out((/ 1, 5, 10, 10, 10 /),'topl0')99 type(ctrl_out) ,save:: o_SWupTOA = ctrl_out((/ 1, 4, 10, 10, 10 /),'SWupTOA')100 type(ctrl_out) ,save:: o_SWupTOAclr = ctrl_out((/ 1, 4, 10, 10, 10 /),'SWupTOAclr')101 type(ctrl_out) ,save:: o_SWdnTOA = ctrl_out((/ 1, 4, 10, 10, 10 /),'SWdnTOA')102 type(ctrl_out) ,save:: o_SWdnTOAclr = ctrl_out((/ 1, 4, 10, 10, 10 /),'SWdnTOAclr')103 type(ctrl_out) ,save:: o_SWup200 = ctrl_out((/ 1, 10, 10, 10, 10 /),'SWup200')104 type(ctrl_out) ,save:: o_SWup200clr = ctrl_out((/ 10, 1, 10, 10, 10 /),'SWup200clr')105 type(ctrl_out) ,save:: o_SWdn200 = ctrl_out((/ 1, 10, 10, 10, 10 /),'SWdn200')106 type(ctrl_out) ,save:: o_SWdn200clr = ctrl_out((/ 10, 1, 10, 10, 10 /),'SWdn200clr')92 type(ctrl_out) :: o_qsol = ctrl_out((/ 1, 10, 10, 1, 1 /),'qsol') 93 94 type(ctrl_out) :: o_ndayrain = ctrl_out((/ 1, 10, 10, 10, 10 /),'ndayrain') 95 type(ctrl_out) :: o_precip = ctrl_out((/ 1, 1, 1, 1, 1 /),'precip') 96 type(ctrl_out) :: o_plul = ctrl_out((/ 1, 1, 1, 1, 10 /),'plul') 97 98 type(ctrl_out) :: o_pluc = ctrl_out((/ 1, 1, 1, 1, 10 /),'pluc') 99 type(ctrl_out) :: o_snow = ctrl_out((/ 1, 1, 10, 1, 10 /),'snow') 100 type(ctrl_out) :: o_evap = ctrl_out((/ 1, 1, 10, 1, 10 /),'evap') 101 type(ctrl_out) :: o_tops = ctrl_out((/ 1, 1, 10, 10, 10 /),'tops') 102 type(ctrl_out) :: o_tops0 = ctrl_out((/ 1, 5, 10, 10, 10 /),'tops0') 103 type(ctrl_out) :: o_topl = ctrl_out((/ 1, 1, 10, 1, 10 /),'topl') 104 type(ctrl_out) :: o_topl0 = ctrl_out((/ 1, 5, 10, 10, 10 /),'topl0') 105 type(ctrl_out) :: o_SWupTOA = ctrl_out((/ 1, 4, 10, 10, 10 /),'SWupTOA') 106 type(ctrl_out) :: o_SWupTOAclr = ctrl_out((/ 1, 4, 10, 10, 10 /),'SWupTOAclr') 107 type(ctrl_out) :: o_SWdnTOA = ctrl_out((/ 1, 4, 10, 10, 10 /),'SWdnTOA') 108 type(ctrl_out) :: o_SWdnTOAclr = ctrl_out((/ 1, 4, 10, 10, 10 /),'SWdnTOAclr') 109 type(ctrl_out) :: o_SWup200 = ctrl_out((/ 1, 10, 10, 10, 10 /),'SWup200') 110 type(ctrl_out) :: o_SWup200clr = ctrl_out((/ 10, 1, 10, 10, 10 /),'SWup200clr') 111 type(ctrl_out) :: o_SWdn200 = ctrl_out((/ 1, 10, 10, 10, 10 /),'SWdn200') 112 type(ctrl_out) :: o_SWdn200clr = ctrl_out((/ 10, 1, 10, 10, 10 /),'SWdn200clr') 107 113 108 114 ! arajouter 109 ! type(ctrl_out) ,save:: o_LWupTOA = ctrl_out((/ 1, 4, 10, 10, 10 /),'LWupTOA')110 ! type(ctrl_out) ,save:: o_LWupTOAclr = ctrl_out((/ 1, 4, 10, 10, 10 /),'LWupTOAclr')111 ! type(ctrl_out) ,save:: o_LWdnTOA = ctrl_out((/ 1, 4, 10, 10, 10 /),'LWdnTOA')112 ! type(ctrl_out) ,save:: o_LWdnTOAclr = ctrl_out((/ 1, 4, 10, 10, 10 /),'LWdnTOAclr')113 114 type(ctrl_out) ,save:: o_LWup200 = ctrl_out((/ 1, 10, 10, 10, 10 /),'LWup200')115 type(ctrl_out) ,save:: o_LWup200clr = ctrl_out((/ 1, 10, 10, 10, 10 /),'LWup200clr')116 type(ctrl_out) ,save:: o_LWdn200 = ctrl_out((/ 1, 10, 10, 10, 10 /),'LWdn200')117 type(ctrl_out) ,save:: o_LWdn200clr = ctrl_out((/ 1, 10, 10, 10, 10 /),'LWdn200clr')118 type(ctrl_out) ,save:: o_sols = ctrl_out((/ 1, 1, 10, 1, 10 /),'sols')119 type(ctrl_out) ,save:: o_sols0 = ctrl_out((/ 1, 5, 10, 10, 10 /),'sols0')120 type(ctrl_out) ,save:: o_soll = ctrl_out((/ 1, 1, 10, 1, 10 /),'soll')121 type(ctrl_out) ,save:: o_soll0 = ctrl_out((/ 1, 5, 10, 10, 10 /),'soll0')122 type(ctrl_out) ,save:: o_radsol = ctrl_out((/ 1, 1, 10, 10, 10 /),'radsol')123 type(ctrl_out) ,save:: o_SWupSFC = ctrl_out((/ 1, 4, 10, 10, 10 /),'SWupSFC')124 type(ctrl_out) ,save:: o_SWupSFCclr = ctrl_out((/ 1, 4, 10, 10, 10 /),'SWupSFCclr')125 type(ctrl_out) ,save:: o_SWdnSFC = ctrl_out((/ 1, 1, 10, 10, 10 /),'SWdnSFC')126 type(ctrl_out) ,save:: o_SWdnSFCclr = ctrl_out((/ 1, 4, 10, 10, 10 /),'SWdnSFCclr')127 type(ctrl_out) ,save:: o_LWupSFC = ctrl_out((/ 1, 4, 10, 10, 10 /),'LWupSFC')128 type(ctrl_out) ,save:: o_LWupSFCclr = ctrl_out((/ 1, 4, 10, 10, 10 /),'LWupSFCclr')129 type(ctrl_out) ,save:: o_LWdnSFC = ctrl_out((/ 1, 4, 10, 10, 10 /),'LWdnSFC')130 type(ctrl_out) ,save:: o_LWdnSFCclr = ctrl_out((/ 1, 4, 10, 10, 10 /),'LWdnSFCclr')131 type(ctrl_out) ,save:: o_bils = ctrl_out((/ 1, 2, 10, 1, 10 /),'bils')132 type(ctrl_out) ,save:: o_sens = ctrl_out((/ 1, 1, 10, 1, 1 /),'sens')133 type(ctrl_out) ,save:: o_fder = ctrl_out((/ 1, 2, 10, 1, 10 /),'fder')134 type(ctrl_out) ,save:: o_ffonte = ctrl_out((/ 1, 10, 10, 10, 10 /),'ffonte')135 type(ctrl_out) ,save:: o_fqcalving = ctrl_out((/ 1, 10, 10, 10, 10 /),'fqcalving')136 type(ctrl_out) ,save:: o_fqfonte = ctrl_out((/ 1, 10, 10, 10, 10 /),'fqfonte')137 138 type(ctrl_out), save,dimension(4) :: o_taux_srf = (/ ctrl_out((/ 1, 4, 10, 1, 10 /),'taux_ter'), &115 ! type(ctrl_out) :: o_LWupTOA = ctrl_out((/ 1, 4, 10, 10, 10 /),'LWupTOA') 116 ! type(ctrl_out) :: o_LWupTOAclr = ctrl_out((/ 1, 4, 10, 10, 10 /),'LWupTOAclr') 117 ! type(ctrl_out) :: o_LWdnTOA = ctrl_out((/ 1, 4, 10, 10, 10 /),'LWdnTOA') 118 ! type(ctrl_out) :: o_LWdnTOAclr = ctrl_out((/ 1, 4, 10, 10, 10 /),'LWdnTOAclr') 119 120 type(ctrl_out) :: o_LWup200 = ctrl_out((/ 1, 10, 10, 10, 10 /),'LWup200') 121 type(ctrl_out) :: o_LWup200clr = ctrl_out((/ 1, 10, 10, 10, 10 /),'LWup200clr') 122 type(ctrl_out) :: o_LWdn200 = ctrl_out((/ 1, 10, 10, 10, 10 /),'LWdn200') 123 type(ctrl_out) :: o_LWdn200clr = ctrl_out((/ 1, 10, 10, 10, 10 /),'LWdn200clr') 124 type(ctrl_out) :: o_sols = ctrl_out((/ 1, 1, 10, 1, 10 /),'sols') 125 type(ctrl_out) :: o_sols0 = ctrl_out((/ 1, 5, 10, 10, 10 /),'sols0') 126 type(ctrl_out) :: o_soll = ctrl_out((/ 1, 1, 10, 1, 10 /),'soll') 127 type(ctrl_out) :: o_soll0 = ctrl_out((/ 1, 5, 10, 10, 10 /),'soll0') 128 type(ctrl_out) :: o_radsol = ctrl_out((/ 1, 1, 10, 10, 10 /),'radsol') 129 type(ctrl_out) :: o_SWupSFC = ctrl_out((/ 1, 4, 10, 10, 10 /),'SWupSFC') 130 type(ctrl_out) :: o_SWupSFCclr = ctrl_out((/ 1, 4, 10, 10, 10 /),'SWupSFCclr') 131 type(ctrl_out) :: o_SWdnSFC = ctrl_out((/ 1, 1, 10, 10, 10 /),'SWdnSFC') 132 type(ctrl_out) :: o_SWdnSFCclr = ctrl_out((/ 1, 4, 10, 10, 10 /),'SWdnSFCclr') 133 type(ctrl_out) :: o_LWupSFC = ctrl_out((/ 1, 4, 10, 10, 10 /),'LWupSFC') 134 type(ctrl_out) :: o_LWupSFCclr = ctrl_out((/ 1, 4, 10, 10, 10 /),'LWupSFCclr') 135 type(ctrl_out) :: o_LWdnSFC = ctrl_out((/ 1, 4, 10, 10, 10 /),'LWdnSFC') 136 type(ctrl_out) :: o_LWdnSFCclr = ctrl_out((/ 1, 4, 10, 10, 10 /),'LWdnSFCclr') 137 type(ctrl_out) :: o_bils = ctrl_out((/ 1, 2, 10, 1, 10 /),'bils') 138 type(ctrl_out) :: o_sens = ctrl_out((/ 1, 1, 10, 1, 1 /),'sens') 139 type(ctrl_out) :: o_fder = ctrl_out((/ 1, 2, 10, 1, 10 /),'fder') 140 type(ctrl_out) :: o_ffonte = ctrl_out((/ 1, 10, 10, 10, 10 /),'ffonte') 141 type(ctrl_out) :: o_fqcalving = ctrl_out((/ 1, 10, 10, 10, 10 /),'fqcalving') 142 type(ctrl_out) :: o_fqfonte = ctrl_out((/ 1, 10, 10, 10, 10 /),'fqfonte') 143 144 type(ctrl_out),dimension(4) :: o_taux_srf = (/ ctrl_out((/ 1, 4, 10, 1, 10 /),'taux_ter'), & 139 145 ctrl_out((/ 1, 4, 10, 1, 10 /),'taux_lic'), & 140 146 ctrl_out((/ 1, 4, 10, 1, 10 /),'taux_oce'), & 141 147 ctrl_out((/ 1, 4, 10, 1, 10 /),'taux_sic') /) 142 148 143 type(ctrl_out), save,dimension(4) :: o_tauy_srf = (/ ctrl_out((/ 1, 4, 10, 1, 10 /),'tauy_ter'), &149 type(ctrl_out),dimension(4) :: o_tauy_srf = (/ ctrl_out((/ 1, 4, 10, 1, 10 /),'tauy_ter'), & 144 150 ctrl_out((/ 1, 4, 10, 1, 10 /),'tauy_lic'), & 145 151 ctrl_out((/ 1, 4, 10, 1, 10 /),'tauy_oce'), & … … 147 153 148 154 149 type(ctrl_out), save,dimension(4) :: o_pourc_srf = (/ ctrl_out((/ 1, 4, 10, 1, 10 /),'pourc_ter'), &155 type(ctrl_out),dimension(4) :: o_pourc_srf = (/ ctrl_out((/ 1, 4, 10, 1, 10 /),'pourc_ter'), & 150 156 ctrl_out((/ 1, 4, 10, 1, 10 /),'pourc_lic'), & 151 157 ctrl_out((/ 1, 4, 10, 1, 10 /),'pourc_oce'), & 152 158 ctrl_out((/ 1, 4, 10, 1, 10 /),'pourc_sic') /) 153 159 154 type(ctrl_out), save,dimension(4) :: o_fract_srf = (/ ctrl_out((/ 1, 4, 10, 1, 10 /),'fract_ter'), &160 type(ctrl_out),dimension(4) :: o_fract_srf = (/ ctrl_out((/ 1, 4, 10, 1, 10 /),'fract_ter'), & 155 161 ctrl_out((/ 1, 4, 10, 1, 10 /),'fract_lic'), & 156 162 ctrl_out((/ 1, 4, 10, 1, 10 /),'fract_oce'), & 157 163 ctrl_out((/ 1, 4, 10, 1, 10 /),'fract_sic') /) 158 164 159 type(ctrl_out), save,dimension(4) :: o_tsol_srf = (/ ctrl_out((/ 1, 4, 10, 1, 10 /),'tsol_ter'), &165 type(ctrl_out),dimension(4) :: o_tsol_srf = (/ ctrl_out((/ 1, 4, 10, 1, 10 /),'tsol_ter'), & 160 166 ctrl_out((/ 1, 4, 10, 1, 10 /),'tsol_lic'), & 161 167 ctrl_out((/ 1, 4, 10, 1, 10 /),'tsol_oce'), & 162 168 ctrl_out((/ 1, 4, 10, 1, 10 /),'tsol_sic') /) 163 169 164 type(ctrl_out), save,dimension(4) :: o_sens_srf = (/ ctrl_out((/ 1, 4, 10, 1, 10 /),'sens_ter'), &170 type(ctrl_out),dimension(4) :: o_sens_srf = (/ ctrl_out((/ 1, 4, 10, 1, 10 /),'sens_ter'), & 165 171 ctrl_out((/ 1, 4, 10, 1, 10 /),'sens_lic'), & 166 172 ctrl_out((/ 1, 4, 10, 1, 10 /),'sens_oce'), & 167 173 ctrl_out((/ 1, 4, 10, 1, 10 /),'sens_sic') /) 168 174 169 type(ctrl_out), save,dimension(4) :: o_lat_srf = (/ ctrl_out((/ 1, 4, 10, 1, 10 /),'lat_ter'), &175 type(ctrl_out),dimension(4) :: o_lat_srf = (/ ctrl_out((/ 1, 4, 10, 1, 10 /),'lat_ter'), & 170 176 ctrl_out((/ 1, 4, 10, 1, 10 /),'lat_lic'), & 171 177 ctrl_out((/ 1, 4, 10, 1, 10 /),'lat_oce'), & 172 178 ctrl_out((/ 1, 4, 10, 1, 10 /),'lat_sic') /) 173 179 174 type(ctrl_out), save,dimension(4) :: o_flw_srf = (/ ctrl_out((/ 1, 10, 10, 10, 10 /),'flw_ter'), &180 type(ctrl_out),dimension(4) :: o_flw_srf = (/ ctrl_out((/ 1, 10, 10, 10, 10 /),'flw_ter'), & 175 181 ctrl_out((/ 1, 10, 10, 10, 10 /),'flw_lic'), & 176 182 ctrl_out((/ 1, 10, 10, 10, 10 /),'flw_oce'), & 177 183 ctrl_out((/ 1, 10, 10, 10, 10 /),'flw_sic') /) 178 184 179 type(ctrl_out), save,dimension(4) :: o_fsw_srf = (/ ctrl_out((/ 1, 10, 10, 10, 10 /),'fsw_ter'), &185 type(ctrl_out),dimension(4) :: o_fsw_srf = (/ ctrl_out((/ 1, 10, 10, 10, 10 /),'fsw_ter'), & 180 186 ctrl_out((/ 1, 10, 10, 10, 10 /),'fsw_lic'), & 181 187 ctrl_out((/ 1, 10, 10, 10, 10 /),'fsw_oce'), & 182 188 ctrl_out((/ 1, 10, 10, 10, 10 /),'fsw_sic') /) 183 189 184 type(ctrl_out), save,dimension(4) :: o_wbils_srf = (/ ctrl_out((/ 1, 10, 10, 10, 10 /),'wbils_ter'), &190 type(ctrl_out),dimension(4) :: o_wbils_srf = (/ ctrl_out((/ 1, 10, 10, 10, 10 /),'wbils_ter'), & 185 191 ctrl_out((/ 1, 10, 10, 10, 10 /),'wbils_lic'), & 186 192 ctrl_out((/ 1, 10, 10, 10, 10 /),'wbils_oce'), & 187 193 ctrl_out((/ 1, 10, 10, 10, 10 /),'wbils_sic') /) 188 194 189 type(ctrl_out), save,dimension(4) :: o_wbilo_srf = (/ ctrl_out((/ 1, 10, 10, 10, 10 /),'wbilo_ter'), &195 type(ctrl_out),dimension(4) :: o_wbilo_srf = (/ ctrl_out((/ 1, 10, 10, 10, 10 /),'wbilo_ter'), & 190 196 ctrl_out((/ 1, 10, 10, 10, 10 /),'wbilo_lic'), & 191 197 ctrl_out((/ 1, 10, 10, 10, 10 /),'wbilo_oce'), & … … 193 199 194 200 195 type(ctrl_out) ,save:: o_cdrm = ctrl_out((/ 1, 10, 10, 1, 10 /),'cdrm')196 type(ctrl_out) ,save:: o_cdrh = ctrl_out((/ 1, 10, 10, 1, 10 /),'cdrh')197 type(ctrl_out) ,save:: o_cldl = ctrl_out((/ 1, 1, 10, 10, 10 /),'cldl')198 type(ctrl_out) ,save:: o_cldm = ctrl_out((/ 1, 1, 10, 10, 10 /),'cldm')199 type(ctrl_out) ,save:: o_cldh = ctrl_out((/ 1, 1, 10, 10, 10 /),'cldh')200 type(ctrl_out) ,save:: o_cldt = ctrl_out((/ 1, 1, 2, 10, 10 /),'cldt')201 type(ctrl_out) ,save:: o_cldq = ctrl_out((/ 1, 1, 10, 10, 10 /),'cldq')202 type(ctrl_out) ,save:: o_lwp = ctrl_out((/ 1, 5, 10, 10, 10 /),'lwp')203 type(ctrl_out) ,save:: o_iwp = ctrl_out((/ 1, 5, 10, 10, 10 /),'iwp')204 type(ctrl_out) ,save:: o_ue = ctrl_out((/ 1, 10, 10, 10, 10 /),'ue')205 type(ctrl_out) ,save:: o_ve = ctrl_out((/ 1, 10, 10, 10, 10 /),'ve')206 type(ctrl_out) ,save:: o_uq = ctrl_out((/ 1, 10, 10, 10, 10 /),'uq')207 type(ctrl_out) ,save:: o_vq = ctrl_out((/ 1, 10, 10, 10, 10 /),'vq')201 type(ctrl_out) :: o_cdrm = ctrl_out((/ 1, 10, 10, 1, 10 /),'cdrm') 202 type(ctrl_out) :: o_cdrh = ctrl_out((/ 1, 10, 10, 1, 10 /),'cdrh') 203 type(ctrl_out) :: o_cldl = ctrl_out((/ 1, 1, 10, 10, 10 /),'cldl') 204 type(ctrl_out) :: o_cldm = ctrl_out((/ 1, 1, 10, 10, 10 /),'cldm') 205 type(ctrl_out) :: o_cldh = ctrl_out((/ 1, 1, 10, 10, 10 /),'cldh') 206 type(ctrl_out) :: o_cldt = ctrl_out((/ 1, 1, 2, 10, 10 /),'cldt') 207 type(ctrl_out) :: o_cldq = ctrl_out((/ 1, 1, 10, 10, 10 /),'cldq') 208 type(ctrl_out) :: o_lwp = ctrl_out((/ 1, 5, 10, 10, 10 /),'lwp') 209 type(ctrl_out) :: o_iwp = ctrl_out((/ 1, 5, 10, 10, 10 /),'iwp') 210 type(ctrl_out) :: o_ue = ctrl_out((/ 1, 10, 10, 10, 10 /),'ue') 211 type(ctrl_out) :: o_ve = ctrl_out((/ 1, 10, 10, 10, 10 /),'ve') 212 type(ctrl_out) :: o_uq = ctrl_out((/ 1, 10, 10, 10, 10 /),'uq') 213 type(ctrl_out) :: o_vq = ctrl_out((/ 1, 10, 10, 10, 10 /),'vq') 208 214 209 type(ctrl_out) ,save:: o_cape = ctrl_out((/ 1, 10, 10, 10, 10 /),'cape')210 type(ctrl_out) ,save:: o_pbase = ctrl_out((/ 1, 10, 10, 10, 10 /),'pbase')211 type(ctrl_out) ,save:: o_ptop = ctrl_out((/ 1, 4, 10, 10, 10 /),'ptop')212 type(ctrl_out) ,save:: o_fbase = ctrl_out((/ 1, 10, 10, 10, 10 /),'fbase')213 type(ctrl_out) ,save:: o_prw = ctrl_out((/ 1, 1, 10, 10, 10 /),'prw')214 215 type(ctrl_out) ,save:: o_s_pblh = ctrl_out((/ 1, 10, 10, 1, 1 /),'s_pblh')216 type(ctrl_out) ,save:: o_s_pblt = ctrl_out((/ 1, 10, 10, 1, 1 /),'s_pblt')217 type(ctrl_out) ,save:: o_s_lcl = ctrl_out((/ 1, 10, 10, 1, 10 /),'s_lcl')218 type(ctrl_out) ,save:: o_s_capCL = ctrl_out((/ 1, 10, 10, 1, 10 /),'s_capCL')219 type(ctrl_out) ,save:: o_s_oliqCL = ctrl_out((/ 1, 10, 10, 1, 10 /),'s_oliqCL')220 type(ctrl_out) ,save:: o_s_cteiCL = ctrl_out((/ 1, 10, 10, 1, 1 /),'s_cteiCL')221 type(ctrl_out) ,save:: o_s_therm = ctrl_out((/ 1, 10, 10, 1, 1 /),'s_therm')222 type(ctrl_out) ,save:: o_s_trmb1 = ctrl_out((/ 1, 10, 10, 1, 10 /),'s_trmb1')223 type(ctrl_out) ,save:: o_s_trmb2 = ctrl_out((/ 1, 10, 10, 1, 10 /),'s_trmb2')224 type(ctrl_out) ,save:: o_s_trmb3 = ctrl_out((/ 1, 10, 10, 1, 10 /),'s_trmb3')225 226 type(ctrl_out) ,save:: o_slab_bils = ctrl_out((/ 1, 1, 10, 10, 10 /),'slab_bils_oce')227 228 type(ctrl_out) ,save:: o_ale_bl = ctrl_out((/ 1, 1, 1, 1, 10 /),'ale_bl')229 type(ctrl_out) ,save:: o_alp_bl = ctrl_out((/ 1, 1, 1, 1, 10 /),'alp_bl')230 type(ctrl_out) ,save:: o_ale_wk = ctrl_out((/ 1, 1, 1, 1, 10 /),'ale_wk')231 type(ctrl_out) ,save:: o_alp_wk = ctrl_out((/ 1, 1, 1, 1, 10 /),'alp_wk')232 233 type(ctrl_out) ,save:: o_ale = ctrl_out((/ 1, 1, 1, 1, 10 /),'ale')234 type(ctrl_out) ,save:: o_alp = ctrl_out((/ 1, 1, 1, 1, 10 /),'alp')235 type(ctrl_out) ,save:: o_cin = ctrl_out((/ 1, 1, 1, 1, 10 /),'cin')236 type(ctrl_out) ,save:: o_wape = ctrl_out((/ 1, 1, 1, 1, 10 /),'wape')215 type(ctrl_out) :: o_cape = ctrl_out((/ 1, 10, 10, 10, 10 /),'cape') 216 type(ctrl_out) :: o_pbase = ctrl_out((/ 1, 10, 10, 10, 10 /),'pbase') 217 type(ctrl_out) :: o_ptop = ctrl_out((/ 1, 4, 10, 10, 10 /),'ptop') 218 type(ctrl_out) :: o_fbase = ctrl_out((/ 1, 10, 10, 10, 10 /),'fbase') 219 type(ctrl_out) :: o_prw = ctrl_out((/ 1, 1, 10, 10, 10 /),'prw') 220 221 type(ctrl_out) :: o_s_pblh = ctrl_out((/ 1, 10, 10, 1, 1 /),'s_pblh') 222 type(ctrl_out) :: o_s_pblt = ctrl_out((/ 1, 10, 10, 1, 1 /),'s_pblt') 223 type(ctrl_out) :: o_s_lcl = ctrl_out((/ 1, 10, 10, 1, 10 /),'s_lcl') 224 type(ctrl_out) :: o_s_capCL = ctrl_out((/ 1, 10, 10, 1, 10 /),'s_capCL') 225 type(ctrl_out) :: o_s_oliqCL = ctrl_out((/ 1, 10, 10, 1, 10 /),'s_oliqCL') 226 type(ctrl_out) :: o_s_cteiCL = ctrl_out((/ 1, 10, 10, 1, 1 /),'s_cteiCL') 227 type(ctrl_out) :: o_s_therm = ctrl_out((/ 1, 10, 10, 1, 1 /),'s_therm') 228 type(ctrl_out) :: o_s_trmb1 = ctrl_out((/ 1, 10, 10, 1, 10 /),'s_trmb1') 229 type(ctrl_out) :: o_s_trmb2 = ctrl_out((/ 1, 10, 10, 1, 10 /),'s_trmb2') 230 type(ctrl_out) :: o_s_trmb3 = ctrl_out((/ 1, 10, 10, 1, 10 /),'s_trmb3') 231 232 type(ctrl_out) :: o_slab_bils = ctrl_out((/ 1, 1, 10, 10, 10 /),'slab_bils_oce') 233 234 type(ctrl_out) :: o_ale_bl = ctrl_out((/ 1, 1, 1, 1, 10 /),'ale_bl') 235 type(ctrl_out) :: o_alp_bl = ctrl_out((/ 1, 1, 1, 1, 10 /),'alp_bl') 236 type(ctrl_out) :: o_ale_wk = ctrl_out((/ 1, 1, 1, 1, 10 /),'ale_wk') 237 type(ctrl_out) :: o_alp_wk = ctrl_out((/ 1, 1, 1, 1, 10 /),'alp_wk') 238 239 type(ctrl_out) :: o_ale = ctrl_out((/ 1, 1, 1, 1, 10 /),'ale') 240 type(ctrl_out) :: o_alp = ctrl_out((/ 1, 1, 1, 1, 10 /),'alp') 241 type(ctrl_out) :: o_cin = ctrl_out((/ 1, 1, 1, 1, 10 /),'cin') 242 type(ctrl_out) :: o_wape = ctrl_out((/ 1, 1, 1, 1, 10 /),'wape') 237 243 238 244 … … 246 252 247 253 248 type(ctrl_out), save,dimension(4) :: o_uSTDlevs = (/ ctrl_out((/ 1, 1, 3, 10, 10 /),'u850'), &254 type(ctrl_out),dimension(4) :: o_uSTDlevs = (/ ctrl_out((/ 1, 1, 3, 10, 10 /),'u850'), & 249 255 ctrl_out((/ 1, 1, 3, 10, 10 /),'u700'), & 250 256 ctrl_out((/ 1, 1, 3, 10, 10 /),'u500'), & 251 257 ctrl_out((/ 1, 1, 3, 10, 10 /),'u200') /) 252 258 253 type(ctrl_out), save,dimension(4) :: o_vSTDlevs = (/ ctrl_out((/ 1, 1, 3, 10, 10 /),'v850'), &259 type(ctrl_out),dimension(4) :: o_vSTDlevs = (/ ctrl_out((/ 1, 1, 3, 10, 10 /),'v850'), & 254 260 ctrl_out((/ 1, 1, 3, 10, 10 /),'v700'), & 255 261 ctrl_out((/ 1, 1, 3, 10, 10 /),'v500'), & 256 262 ctrl_out((/ 1, 1, 3, 10, 10 /),'v200') /) 257 263 258 type(ctrl_out), save,dimension(4) :: o_wSTDlevs = (/ ctrl_out((/ 1, 1, 3, 10, 10 /),'w850'), &264 type(ctrl_out),dimension(4) :: o_wSTDlevs = (/ ctrl_out((/ 1, 1, 3, 10, 10 /),'w850'), & 259 265 ctrl_out((/ 1, 1, 3, 10, 10 /),'w700'), & 260 266 ctrl_out((/ 1, 1, 3, 10, 10 /),'w500'), & 261 267 ctrl_out((/ 1, 1, 3, 10, 10 /),'w200') /) 262 268 263 type(ctrl_out), save,dimension(4) :: o_tSTDlevs = (/ ctrl_out((/ 1, 1, 3, 10, 10 /),'t850'), &269 type(ctrl_out),dimension(4) :: o_tSTDlevs = (/ ctrl_out((/ 1, 1, 3, 10, 10 /),'t850'), & 264 270 ctrl_out((/ 1, 1, 3, 10, 10 /),'t700'), & 265 271 ctrl_out((/ 1, 1, 3, 10, 10 /),'t500'), & 266 272 ctrl_out((/ 1, 1, 3, 10, 10 /),'t200') /) 267 273 268 type(ctrl_out), save,dimension(4) :: o_qSTDlevs = (/ ctrl_out((/ 1, 1, 3, 10, 10 /),'q850'), &274 type(ctrl_out),dimension(4) :: o_qSTDlevs = (/ ctrl_out((/ 1, 1, 3, 10, 10 /),'q850'), & 269 275 ctrl_out((/ 1, 1, 3, 10, 10 /),'q700'), & 270 276 ctrl_out((/ 1, 1, 3, 10, 10 /),'q500'), & 271 277 ctrl_out((/ 1, 1, 3, 10, 10 /),'q200') /) 272 278 273 type(ctrl_out), save,dimension(4) :: o_phiSTDlevs = (/ ctrl_out((/ 1, 1, 3, 10, 10 /),'phi850'), &279 type(ctrl_out),dimension(4) :: o_phiSTDlevs = (/ ctrl_out((/ 1, 1, 3, 10, 10 /),'phi850'), & 274 280 ctrl_out((/ 1, 1, 3, 10, 10 /),'phi700'), & 275 281 ctrl_out((/ 1, 1, 3, 10, 10 /),'phi500'), & … … 277 283 278 284 279 type(ctrl_out) ,save:: o_t_oce_sic = ctrl_out((/ 1, 10, 10, 10, 10 /),'t_oce_sic')280 281 type(ctrl_out) ,save:: o_weakinv = ctrl_out((/ 10, 1, 10, 10, 10 /),'weakinv')282 type(ctrl_out) ,save:: o_dthmin = ctrl_out((/ 10, 1, 10, 10, 10 /),'dthmin')283 type(ctrl_out), save,dimension(4) :: o_u10_srf = (/ ctrl_out((/ 10, 4, 10, 10, 10 /),'u10_ter'), &285 type(ctrl_out) :: o_t_oce_sic = ctrl_out((/ 1, 10, 10, 10, 10 /),'t_oce_sic') 286 287 type(ctrl_out) :: o_weakinv = ctrl_out((/ 10, 1, 10, 10, 10 /),'weakinv') 288 type(ctrl_out) :: o_dthmin = ctrl_out((/ 10, 1, 10, 10, 10 /),'dthmin') 289 type(ctrl_out),dimension(4) :: o_u10_srf = (/ ctrl_out((/ 10, 4, 10, 10, 10 /),'u10_ter'), & 284 290 ctrl_out((/ 10, 4, 10, 10, 10 /),'u10_lic'), & 285 291 ctrl_out((/ 10, 4, 10, 10, 10 /),'u10_oce'), & 286 292 ctrl_out((/ 10, 4, 10, 10, 10 /),'u10_sic') /) 287 293 288 type(ctrl_out), save,dimension(4) :: o_v10_srf = (/ ctrl_out((/ 10, 4, 10, 10, 10 /),'v10_ter'), &294 type(ctrl_out),dimension(4) :: o_v10_srf = (/ ctrl_out((/ 10, 4, 10, 10, 10 /),'v10_ter'), & 289 295 ctrl_out((/ 10, 4, 10, 10, 10 /),'v10_lic'), & 290 296 ctrl_out((/ 10, 4, 10, 10, 10 /),'v10_oce'), & 291 297 ctrl_out((/ 10, 4, 10, 10, 10 /),'v10_sic') /) 292 298 293 type(ctrl_out) ,save:: o_cldtau = ctrl_out((/ 10, 5, 10, 10, 10 /),'cldtau')294 type(ctrl_out) ,save:: o_cldemi = ctrl_out((/ 10, 5, 10, 10, 10 /),'cldemi')295 type(ctrl_out) ,save:: o_rh2m = ctrl_out((/ 10, 5, 10, 10, 10 /),'rh2m')296 type(ctrl_out) ,save:: o_qsat2m = ctrl_out((/ 10, 5, 10, 10, 10 /),'qsat2m')297 type(ctrl_out) ,save:: o_tpot = ctrl_out((/ 10, 5, 10, 10, 10 /),'tpot')298 type(ctrl_out) ,save:: o_tpote = ctrl_out((/ 10, 5, 10, 10, 10 /),'tpote')299 type(ctrl_out) ,save:: o_tke = ctrl_out((/ 4, 10, 10, 10, 10 /),'tke ')300 type(ctrl_out) ,save:: o_tke_max = ctrl_out((/ 4, 10, 10, 10, 10 /),'tke_max')301 302 type(ctrl_out), save,dimension(4) :: o_tke_srf = (/ ctrl_out((/ 10, 4, 10, 10, 10 /),'tke_ter'), &299 type(ctrl_out) :: o_cldtau = ctrl_out((/ 10, 5, 10, 10, 10 /),'cldtau') 300 type(ctrl_out) :: o_cldemi = ctrl_out((/ 10, 5, 10, 10, 10 /),'cldemi') 301 type(ctrl_out) :: o_rh2m = ctrl_out((/ 10, 5, 10, 10, 10 /),'rh2m') 302 type(ctrl_out) :: o_qsat2m = ctrl_out((/ 10, 5, 10, 10, 10 /),'qsat2m') 303 type(ctrl_out) :: o_tpot = ctrl_out((/ 10, 5, 10, 10, 10 /),'tpot') 304 type(ctrl_out) :: o_tpote = ctrl_out((/ 10, 5, 10, 10, 10 /),'tpote') 305 type(ctrl_out) :: o_tke = ctrl_out((/ 4, 10, 10, 10, 10 /),'tke ') 306 type(ctrl_out) :: o_tke_max = ctrl_out((/ 4, 10, 10, 10, 10 /),'tke_max') 307 308 type(ctrl_out),dimension(4) :: o_tke_srf = (/ ctrl_out((/ 10, 4, 10, 10, 10 /),'tke_ter'), & 303 309 ctrl_out((/ 10, 4, 10, 10, 10 /),'tke_lic'), & 304 310 ctrl_out((/ 10, 4, 10, 10, 10 /),'tke_oce'), & 305 311 ctrl_out((/ 10, 4, 10, 10, 10 /),'tke_sic') /) 306 312 307 type(ctrl_out), save,dimension(4) :: o_tke_max_srf = (/ ctrl_out((/ 10, 4, 10, 10, 10 /),'tke_max_ter'), &313 type(ctrl_out),dimension(4) :: o_tke_max_srf = (/ ctrl_out((/ 10, 4, 10, 10, 10 /),'tke_max_ter'), & 308 314 ctrl_out((/ 10, 4, 10, 10, 10 /),'tke_max_lic'), & 309 315 ctrl_out((/ 10, 4, 10, 10, 10 /),'tke_max_oce'), & 310 316 ctrl_out((/ 10, 4, 10, 10, 10 /),'tke_max_sic') /) 311 317 312 type(ctrl_out) ,save:: o_kz = ctrl_out((/ 4, 10, 10, 10, 10 /),'kz')313 type(ctrl_out) ,save:: o_kz_max = ctrl_out((/ 4, 10, 10, 10, 10 /),'kz_max')314 type(ctrl_out) ,save:: o_SWnetOR = ctrl_out((/ 10, 10, 2, 10, 10 /),'SWnetOR')315 type(ctrl_out) ,save:: o_SWdownOR = ctrl_out((/ 10, 10, 2, 10, 10 /),'SWdownOR')316 type(ctrl_out) ,save:: o_LWdownOR = ctrl_out((/ 10, 10, 2, 10, 10 /),'LWdownOR')317 318 type(ctrl_out) ,save:: o_snowl = ctrl_out((/ 10, 1, 10, 10, 10 /),'snowl')319 type(ctrl_out) ,save:: o_cape_max = ctrl_out((/ 10, 1, 10, 10, 10 /),'cape_max')320 type(ctrl_out) ,save:: o_solldown = ctrl_out((/ 10, 1, 10, 1, 10 /),'solldown')321 322 type(ctrl_out) ,save:: o_dtsvdfo = ctrl_out((/ 10, 10, 10, 1, 10 /),'dtsvdfo')323 type(ctrl_out) ,save:: o_dtsvdft = ctrl_out((/ 10, 10, 10, 1, 10 /),'dtsvdft')324 type(ctrl_out) ,save:: o_dtsvdfg = ctrl_out((/ 10, 10, 10, 1, 10 /),'dtsvdfg')325 type(ctrl_out) ,save:: o_dtsvdfi = ctrl_out((/ 10, 10, 10, 1, 10 /),'dtsvdfi')326 type(ctrl_out) ,save:: o_rugs = ctrl_out((/ 10, 10, 10, 1, 1 /),'rugs')327 328 type(ctrl_out) ,save:: o_topswad = ctrl_out((/ 4, 10, 10, 10, 10 /),'topswad')329 type(ctrl_out) ,save:: o_topswai = ctrl_out((/ 4, 10, 10, 10, 10 /),'topswai')330 type(ctrl_out) ,save:: o_solswad = ctrl_out((/ 4, 10, 10, 10, 10 /),'solswad')331 type(ctrl_out) ,save:: o_solswai = ctrl_out((/ 4, 10, 10, 10, 10 /),'solswai')318 type(ctrl_out) :: o_kz = ctrl_out((/ 4, 10, 10, 10, 10 /),'kz') 319 type(ctrl_out) :: o_kz_max = ctrl_out((/ 4, 10, 10, 10, 10 /),'kz_max') 320 type(ctrl_out) :: o_SWnetOR = ctrl_out((/ 10, 10, 2, 10, 10 /),'SWnetOR') 321 type(ctrl_out) :: o_SWdownOR = ctrl_out((/ 10, 10, 2, 10, 10 /),'SWdownOR') 322 type(ctrl_out) :: o_LWdownOR = ctrl_out((/ 10, 10, 2, 10, 10 /),'LWdownOR') 323 324 type(ctrl_out) :: o_snowl = ctrl_out((/ 10, 1, 10, 10, 10 /),'snowl') 325 type(ctrl_out) :: o_cape_max = ctrl_out((/ 10, 1, 10, 10, 10 /),'cape_max') 326 type(ctrl_out) :: o_solldown = ctrl_out((/ 10, 1, 10, 1, 10 /),'solldown') 327 328 type(ctrl_out) :: o_dtsvdfo = ctrl_out((/ 10, 10, 10, 1, 10 /),'dtsvdfo') 329 type(ctrl_out) :: o_dtsvdft = ctrl_out((/ 10, 10, 10, 1, 10 /),'dtsvdft') 330 type(ctrl_out) :: o_dtsvdfg = ctrl_out((/ 10, 10, 10, 1, 10 /),'dtsvdfg') 331 type(ctrl_out) :: o_dtsvdfi = ctrl_out((/ 10, 10, 10, 1, 10 /),'dtsvdfi') 332 type(ctrl_out) :: o_rugs = ctrl_out((/ 10, 10, 10, 1, 1 /),'rugs') 333 334 type(ctrl_out) :: o_topswad = ctrl_out((/ 4, 10, 10, 10, 10 /),'topswad') 335 type(ctrl_out) :: o_topswai = ctrl_out((/ 4, 10, 10, 10, 10 /),'topswai') 336 type(ctrl_out) :: o_solswad = ctrl_out((/ 4, 10, 10, 10, 10 /),'solswad') 337 type(ctrl_out) :: o_solswai = ctrl_out((/ 4, 10, 10, 10, 10 /),'solswai') 332 338 !!!!!!!!!!!!!!!!!!!!!! 3D !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 333 type(ctrl_out) ,save:: o_lwcon = ctrl_out((/ 2, 5, 10, 10, 1 /),'lwcon')334 type(ctrl_out) ,save:: o_iwcon = ctrl_out((/ 2, 5, 10, 10, 10 /),'iwcon')335 type(ctrl_out) ,save:: o_temp = ctrl_out((/ 2, 3, 4, 1, 1 /),'temp')336 type(ctrl_out) ,save:: o_theta = ctrl_out((/ 2, 3, 4, 1, 1 /),'theta')337 type(ctrl_out) ,save:: o_ovap = ctrl_out((/ 2, 3, 4, 1, 1 /),'ovap')338 type(ctrl_out) ,save:: o_ovapinit = ctrl_out((/ 2, 3, 4, 1, 1 /),'ovapinit')339 type(ctrl_out) ,save:: o_wvapp = ctrl_out((/ 2, 10, 10, 10, 10 /),'wvapp')340 type(ctrl_out) ,save:: o_geop = ctrl_out((/ 2, 3, 10, 1, 1 /),'geop')341 type(ctrl_out) ,save:: o_vitu = ctrl_out((/ 2, 3, 4, 1, 1 /),'vitu')342 type(ctrl_out) ,save:: o_vitv = ctrl_out((/ 2, 3, 4, 1, 1 /),'vitv')343 type(ctrl_out) ,save:: o_vitw = ctrl_out((/ 2, 3, 10, 10, 1 /),'vitw')344 type(ctrl_out) ,save:: o_pres = ctrl_out((/ 2, 3, 10, 1, 1 /),'pres')345 type(ctrl_out) ,save:: o_rneb = ctrl_out((/ 2, 5, 10, 10, 1 /),'rneb')346 type(ctrl_out) ,save:: o_rnebcon = ctrl_out((/ 2, 5, 10, 10, 1 /),'rnebcon')347 type(ctrl_out) ,save:: o_rhum = ctrl_out((/ 2, 10, 10, 10, 10 /),'rhum')348 type(ctrl_out) ,save:: o_ozone = ctrl_out((/ 2, 10, 10, 10, 10 /),'ozone')349 type(ctrl_out) ,save:: o_upwd = ctrl_out((/ 2, 10, 10, 10, 10 /),'upwd')350 type(ctrl_out) ,save:: o_dtphy = ctrl_out((/ 2, 10, 10, 10, 1 /),'dtphy')351 type(ctrl_out) ,save:: o_dqphy = ctrl_out((/ 2, 10, 10, 10, 1 /),'dqphy')352 type(ctrl_out) ,save:: o_pr_con_l = ctrl_out((/ 2, 10, 10, 10, 10 /),'pr_con_l')353 type(ctrl_out) ,save:: o_pr_con_i = ctrl_out((/ 2, 10, 10, 10, 10 /),'pr_con_i')354 type(ctrl_out) ,save:: o_pr_lsc_l = ctrl_out((/ 2, 10, 10, 10, 10 /),'pr_lsc_l')355 type(ctrl_out) ,save:: o_pr_lsc_i = ctrl_out((/ 2, 10, 10, 10, 10 /),'pr_lsc_i')339 type(ctrl_out) :: o_lwcon = ctrl_out((/ 2, 5, 10, 10, 1 /),'lwcon') 340 type(ctrl_out) :: o_iwcon = ctrl_out((/ 2, 5, 10, 10, 10 /),'iwcon') 341 type(ctrl_out) :: o_temp = ctrl_out((/ 2, 3, 4, 1, 1 /),'temp') 342 type(ctrl_out) :: o_theta = ctrl_out((/ 2, 3, 4, 1, 1 /),'theta') 343 type(ctrl_out) :: o_ovap = ctrl_out((/ 2, 3, 4, 1, 1 /),'ovap') 344 type(ctrl_out) :: o_ovapinit = ctrl_out((/ 2, 3, 4, 1, 1 /),'ovapinit') 345 type(ctrl_out) :: o_wvapp = ctrl_out((/ 2, 10, 10, 10, 10 /),'wvapp') 346 type(ctrl_out) :: o_geop = ctrl_out((/ 2, 3, 10, 1, 1 /),'geop') 347 type(ctrl_out) :: o_vitu = ctrl_out((/ 2, 3, 4, 1, 1 /),'vitu') 348 type(ctrl_out) :: o_vitv = ctrl_out((/ 2, 3, 4, 1, 1 /),'vitv') 349 type(ctrl_out) :: o_vitw = ctrl_out((/ 2, 3, 10, 10, 1 /),'vitw') 350 type(ctrl_out) :: o_pres = ctrl_out((/ 2, 3, 10, 1, 1 /),'pres') 351 type(ctrl_out) :: o_rneb = ctrl_out((/ 2, 5, 10, 10, 1 /),'rneb') 352 type(ctrl_out) :: o_rnebcon = ctrl_out((/ 2, 5, 10, 10, 1 /),'rnebcon') 353 type(ctrl_out) :: o_rhum = ctrl_out((/ 2, 10, 10, 10, 10 /),'rhum') 354 type(ctrl_out) :: o_ozone = ctrl_out((/ 2, 10, 10, 10, 10 /),'ozone') 355 type(ctrl_out) :: o_upwd = ctrl_out((/ 2, 10, 10, 10, 10 /),'upwd') 356 type(ctrl_out) :: o_dtphy = ctrl_out((/ 2, 10, 10, 10, 1 /),'dtphy') 357 type(ctrl_out) :: o_dqphy = ctrl_out((/ 2, 10, 10, 10, 1 /),'dqphy') 358 type(ctrl_out) :: o_pr_con_l = ctrl_out((/ 2, 10, 10, 10, 10 /),'pr_con_l') 359 type(ctrl_out) :: o_pr_con_i = ctrl_out((/ 2, 10, 10, 10, 10 /),'pr_con_i') 360 type(ctrl_out) :: o_pr_lsc_l = ctrl_out((/ 2, 10, 10, 10, 10 /),'pr_lsc_l') 361 type(ctrl_out) :: o_pr_lsc_i = ctrl_out((/ 2, 10, 10, 10, 10 /),'pr_lsc_i') 356 362 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 357 363 358 type(ctrl_out), save,dimension(4) :: o_albe_srf = (/ ctrl_out((/ 3, 4, 10, 1, 10 /),'albe_ter'), &364 type(ctrl_out),dimension(4) :: o_albe_srf = (/ ctrl_out((/ 3, 4, 10, 1, 10 /),'albe_ter'), & 359 365 ctrl_out((/ 3, 4, 10, 1, 10 /),'albe_lic'), & 360 366 ctrl_out((/ 3, 4, 10, 1, 10 /),'albe_oce'), & 361 367 ctrl_out((/ 3, 4, 10, 1, 10 /),'albe_sic') /) 362 368 363 type(ctrl_out), save,dimension(4) :: o_ages_srf = (/ ctrl_out((/ 3, 10, 10, 10, 10 /),'ages_ter'), &369 type(ctrl_out),dimension(4) :: o_ages_srf = (/ ctrl_out((/ 3, 10, 10, 10, 10 /),'ages_ter'), & 364 370 ctrl_out((/ 3, 10, 10, 10, 10 /),'ages_lic'), & 365 371 ctrl_out((/ 3, 10, 10, 10, 10 /),'ages_oce'), & 366 372 ctrl_out((/ 3, 10, 10, 10, 10 /),'ages_sic') /) 367 373 368 type(ctrl_out), save,dimension(4) :: o_rugs_srf = (/ ctrl_out((/ 3, 4, 10, 1, 10 /),'rugs_ter'), &374 type(ctrl_out),dimension(4) :: o_rugs_srf = (/ ctrl_out((/ 3, 4, 10, 1, 10 /),'rugs_ter'), & 369 375 ctrl_out((/ 3, 4, 10, 1, 10 /),'rugs_lic'), & 370 376 ctrl_out((/ 3, 4, 10, 1, 10 /),'rugs_oce'), & 371 377 ctrl_out((/ 3, 4, 10, 1, 10 /),'rugs_sic') /) 372 378 373 type(ctrl_out) ,save:: o_albs = ctrl_out((/ 3, 10, 10, 1, 10 /),'albs')374 type(ctrl_out) ,save:: o_albslw = ctrl_out((/ 3, 10, 10, 1, 10 /),'albslw')375 376 type(ctrl_out) ,save:: o_clwcon = ctrl_out((/ 4, 10, 10, 10, 10 /),'clwcon')377 type(ctrl_out) ,save:: o_Ma = ctrl_out((/ 4, 10, 10, 10, 10 /),'Ma')378 type(ctrl_out) ,save:: o_dnwd = ctrl_out((/ 4, 10, 10, 10, 10 /),'dnwd')379 type(ctrl_out) ,save:: o_dnwd0 = ctrl_out((/ 4, 10, 10, 10, 10 /),'dnwd0')380 type(ctrl_out) ,save:: o_dtdyn = ctrl_out((/ 4, 10, 10, 10, 1 /),'dtdyn')381 type(ctrl_out) ,save:: o_dqdyn = ctrl_out((/ 4, 10, 10, 10, 1 /),'dqdyn')382 type(ctrl_out) ,save:: o_dudyn = ctrl_out((/ 4, 10, 10, 10, 1 /),'dudyn') !AXC383 type(ctrl_out) ,save:: o_dvdyn = ctrl_out((/ 4, 10, 10, 10, 1 /),'dvdyn') !AXC384 type(ctrl_out) ,save:: o_dtcon = ctrl_out((/ 4, 5, 10, 10, 10 /),'dtcon')385 type(ctrl_out) ,save:: o_ducon = ctrl_out((/ 4, 10, 10, 10, 10 /),'ducon')386 type(ctrl_out) ,save:: o_dqcon = ctrl_out((/ 4, 5, 10, 10, 10 /),'dqcon')387 type(ctrl_out) ,save:: o_dtwak = ctrl_out((/ 4, 5, 10, 10, 10 /),'dtwak')388 type(ctrl_out) ,save:: o_dqwak = ctrl_out((/ 4, 5, 10, 10, 10 /),'dqwak')389 type(ctrl_out) ,save:: o_wake_h = ctrl_out((/ 4, 5, 10, 10, 10 /),'wake_h')390 type(ctrl_out) ,save:: o_wake_s = ctrl_out((/ 4, 5, 10, 10, 10 /),'wake_s')391 type(ctrl_out) ,save:: o_wake_deltat = ctrl_out((/ 4, 5, 10, 10, 10 /),'wake_deltat')392 type(ctrl_out) ,save:: o_wake_deltaq = ctrl_out((/ 4, 5, 10, 10, 10 /),'wake_deltaq')393 type(ctrl_out) ,save:: o_wake_omg = ctrl_out((/ 4, 5, 10, 10, 10 /),'wake_omg')394 type(ctrl_out) ,save:: o_Vprecip = ctrl_out((/ 10, 10, 10, 10, 10 /),'Vprecip')395 type(ctrl_out) ,save:: o_ftd = ctrl_out((/ 4, 5, 10, 10, 10 /),'ftd')396 type(ctrl_out) ,save:: o_fqd = ctrl_out((/ 4, 5, 10, 10, 10 /),'fqd')397 type(ctrl_out) ,save:: o_dtlsc = ctrl_out((/ 4, 10, 10, 10, 10 /),'dtlsc')398 type(ctrl_out) ,save:: o_dtlschr = ctrl_out((/ 4, 10, 10, 10, 10 /),'dtlschr')399 type(ctrl_out) ,save:: o_dqlsc = ctrl_out((/ 4, 10, 10, 10, 10 /),'dqlsc')400 type(ctrl_out) ,save:: o_dtvdf = ctrl_out((/ 4, 10, 10, 1, 10 /),'dtvdf')401 type(ctrl_out) ,save:: o_dqvdf = ctrl_out((/ 4, 10, 10, 1, 10 /),'dqvdf')402 type(ctrl_out) ,save:: o_dteva = ctrl_out((/ 4, 10, 10, 10, 10 /),'dteva')403 type(ctrl_out) ,save:: o_dqeva = ctrl_out((/ 4, 10, 10, 10, 10 /),'dqeva')404 type(ctrl_out) ,save:: o_ptconv = ctrl_out((/ 4, 10, 10, 10, 10 /),'ptconv')405 type(ctrl_out) ,save:: o_ratqs = ctrl_out((/ 4, 10, 10, 10, 10 /),'ratqs')406 type(ctrl_out) ,save:: o_dtthe = ctrl_out((/ 4, 10, 10, 10, 10 /),'dtthe')407 type(ctrl_out) ,save:: o_f_th = ctrl_out((/ 4, 10, 10, 10, 10 /),'f_th')408 type(ctrl_out) ,save:: o_e_th = ctrl_out((/ 4, 10, 10, 10, 10 /),'e_th')409 type(ctrl_out) ,save:: o_w_th = ctrl_out((/ 4, 10, 10, 10, 10 /),'w_th')410 type(ctrl_out) ,save:: o_lambda_th = ctrl_out((/ 4, 10, 10, 10, 10 /),'lambda_th')411 type(ctrl_out) ,save:: o_q_th = ctrl_out((/ 4, 10, 10, 10, 10 /),'q_th')412 type(ctrl_out) ,save:: o_a_th = ctrl_out((/ 4, 10, 10, 10, 10 /),'a_th')413 type(ctrl_out) ,save:: o_d_th = ctrl_out((/ 4, 10, 10, 10, 10 /),'d_th')414 type(ctrl_out) ,save:: o_f0_th = ctrl_out((/ 4, 10, 10, 10, 10 /),'f0_th')415 type(ctrl_out) ,save:: o_zmax_th = ctrl_out((/ 4, 10, 10, 10, 10 /),'zmax_th')416 type(ctrl_out) ,save:: o_dqthe = ctrl_out((/ 4, 10, 10, 10, 1 /),'dqthe')417 type(ctrl_out) ,save:: o_dtajs = ctrl_out((/ 4, 10, 10, 10, 10 /),'dtajs')418 type(ctrl_out) ,save:: o_dqajs = ctrl_out((/ 4, 10, 10, 10, 10 /),'dqajs')419 type(ctrl_out) ,save:: o_dtswr = ctrl_out((/ 4, 10, 10, 10, 1 /),'dtswr')420 type(ctrl_out) ,save:: o_dtsw0 = ctrl_out((/ 4, 10, 10, 10, 10 /),'dtsw0')421 type(ctrl_out) ,save:: o_dtlwr = ctrl_out((/ 4, 10, 10, 10, 1 /),'dtlwr')422 type(ctrl_out) ,save:: o_dtlw0 = ctrl_out((/ 4, 10, 10, 10, 10 /),'dtlw0')423 type(ctrl_out) ,save:: o_dtec = ctrl_out((/ 4, 10, 10, 10, 10 /),'dtec')424 type(ctrl_out) ,save:: o_duvdf = ctrl_out((/ 4, 10, 10, 10, 10 /),'duvdf')425 type(ctrl_out) ,save:: o_dvvdf = ctrl_out((/ 4, 10, 10, 10, 10 /),'dvvdf')426 type(ctrl_out) ,save:: o_duoro = ctrl_out((/ 4, 10, 10, 10, 10 /),'duoro')427 type(ctrl_out) ,save:: o_dvoro = ctrl_out((/ 4, 10, 10, 10, 10 /),'dvoro')428 type(ctrl_out) ,save:: o_dulif = ctrl_out((/ 4, 10, 10, 10, 10 /),'dulif')429 type(ctrl_out) ,save:: o_dvlif = ctrl_out((/ 4, 10, 10, 10, 10 /),'dvlif')379 type(ctrl_out) :: o_albs = ctrl_out((/ 3, 10, 10, 1, 10 /),'albs') 380 type(ctrl_out) :: o_albslw = ctrl_out((/ 3, 10, 10, 1, 10 /),'albslw') 381 382 type(ctrl_out) :: o_clwcon = ctrl_out((/ 4, 10, 10, 10, 10 /),'clwcon') 383 type(ctrl_out) :: o_Ma = ctrl_out((/ 4, 10, 10, 10, 10 /),'Ma') 384 type(ctrl_out) :: o_dnwd = ctrl_out((/ 4, 10, 10, 10, 10 /),'dnwd') 385 type(ctrl_out) :: o_dnwd0 = ctrl_out((/ 4, 10, 10, 10, 10 /),'dnwd0') 386 type(ctrl_out) :: o_dtdyn = ctrl_out((/ 4, 10, 10, 10, 1 /),'dtdyn') 387 type(ctrl_out) :: o_dqdyn = ctrl_out((/ 4, 10, 10, 10, 1 /),'dqdyn') 388 type(ctrl_out) :: o_dudyn = ctrl_out((/ 4, 10, 10, 10, 1 /),'dudyn') !AXC 389 type(ctrl_out) :: o_dvdyn = ctrl_out((/ 4, 10, 10, 10, 1 /),'dvdyn') !AXC 390 type(ctrl_out) :: o_dtcon = ctrl_out((/ 4, 5, 10, 10, 10 /),'dtcon') 391 type(ctrl_out) :: o_ducon = ctrl_out((/ 4, 10, 10, 10, 10 /),'ducon') 392 type(ctrl_out) :: o_dqcon = ctrl_out((/ 4, 5, 10, 10, 10 /),'dqcon') 393 type(ctrl_out) :: o_dtwak = ctrl_out((/ 4, 5, 10, 10, 10 /),'dtwak') 394 type(ctrl_out) :: o_dqwak = ctrl_out((/ 4, 5, 10, 10, 10 /),'dqwak') 395 type(ctrl_out) :: o_wake_h = ctrl_out((/ 4, 5, 10, 10, 10 /),'wake_h') 396 type(ctrl_out) :: o_wake_s = ctrl_out((/ 4, 5, 10, 10, 10 /),'wake_s') 397 type(ctrl_out) :: o_wake_deltat = ctrl_out((/ 4, 5, 10, 10, 10 /),'wake_deltat') 398 type(ctrl_out) :: o_wake_deltaq = ctrl_out((/ 4, 5, 10, 10, 10 /),'wake_deltaq') 399 type(ctrl_out) :: o_wake_omg = ctrl_out((/ 4, 5, 10, 10, 10 /),'wake_omg') 400 type(ctrl_out) :: o_Vprecip = ctrl_out((/ 10, 10, 10, 10, 10 /),'Vprecip') 401 type(ctrl_out) :: o_ftd = ctrl_out((/ 4, 5, 10, 10, 10 /),'ftd') 402 type(ctrl_out) :: o_fqd = ctrl_out((/ 4, 5, 10, 10, 10 /),'fqd') 403 type(ctrl_out) :: o_dtlsc = ctrl_out((/ 4, 10, 10, 10, 10 /),'dtlsc') 404 type(ctrl_out) :: o_dtlschr = ctrl_out((/ 4, 10, 10, 10, 10 /),'dtlschr') 405 type(ctrl_out) :: o_dqlsc = ctrl_out((/ 4, 10, 10, 10, 10 /),'dqlsc') 406 type(ctrl_out) :: o_dtvdf = ctrl_out((/ 4, 10, 10, 1, 10 /),'dtvdf') 407 type(ctrl_out) :: o_dqvdf = ctrl_out((/ 4, 10, 10, 1, 10 /),'dqvdf') 408 type(ctrl_out) :: o_dteva = ctrl_out((/ 4, 10, 10, 10, 10 /),'dteva') 409 type(ctrl_out) :: o_dqeva = ctrl_out((/ 4, 10, 10, 10, 10 /),'dqeva') 410 type(ctrl_out) :: o_ptconv = ctrl_out((/ 4, 10, 10, 10, 10 /),'ptconv') 411 type(ctrl_out) :: o_ratqs = ctrl_out((/ 4, 10, 10, 10, 10 /),'ratqs') 412 type(ctrl_out) :: o_dtthe = ctrl_out((/ 4, 10, 10, 10, 10 /),'dtthe') 413 type(ctrl_out) :: o_f_th = ctrl_out((/ 4, 10, 10, 10, 10 /),'f_th') 414 type(ctrl_out) :: o_e_th = ctrl_out((/ 4, 10, 10, 10, 10 /),'e_th') 415 type(ctrl_out) :: o_w_th = ctrl_out((/ 4, 10, 10, 10, 10 /),'w_th') 416 type(ctrl_out) :: o_lambda_th = ctrl_out((/ 4, 10, 10, 10, 10 /),'lambda_th') 417 type(ctrl_out) :: o_q_th = ctrl_out((/ 4, 10, 10, 10, 10 /),'q_th') 418 type(ctrl_out) :: o_a_th = ctrl_out((/ 4, 10, 10, 10, 10 /),'a_th') 419 type(ctrl_out) :: o_d_th = ctrl_out((/ 4, 10, 10, 10, 10 /),'d_th') 420 type(ctrl_out) :: o_f0_th = ctrl_out((/ 4, 10, 10, 10, 10 /),'f0_th') 421 type(ctrl_out) :: o_zmax_th = ctrl_out((/ 4, 10, 10, 10, 10 /),'zmax_th') 422 type(ctrl_out) :: o_dqthe = ctrl_out((/ 4, 10, 10, 10, 1 /),'dqthe') 423 type(ctrl_out) :: o_dtajs = ctrl_out((/ 4, 10, 10, 10, 10 /),'dtajs') 424 type(ctrl_out) :: o_dqajs = ctrl_out((/ 4, 10, 10, 10, 10 /),'dqajs') 425 type(ctrl_out) :: o_dtswr = ctrl_out((/ 4, 10, 10, 10, 1 /),'dtswr') 426 type(ctrl_out) :: o_dtsw0 = ctrl_out((/ 4, 10, 10, 10, 10 /),'dtsw0') 427 type(ctrl_out) :: o_dtlwr = ctrl_out((/ 4, 10, 10, 10, 1 /),'dtlwr') 428 type(ctrl_out) :: o_dtlw0 = ctrl_out((/ 4, 10, 10, 10, 10 /),'dtlw0') 429 type(ctrl_out) :: o_dtec = ctrl_out((/ 4, 10, 10, 10, 10 /),'dtec') 430 type(ctrl_out) :: o_duvdf = ctrl_out((/ 4, 10, 10, 10, 10 /),'duvdf') 431 type(ctrl_out) :: o_dvvdf = ctrl_out((/ 4, 10, 10, 10, 10 /),'dvvdf') 432 type(ctrl_out) :: o_duoro = ctrl_out((/ 4, 10, 10, 10, 10 /),'duoro') 433 type(ctrl_out) :: o_dvoro = ctrl_out((/ 4, 10, 10, 10, 10 /),'dvoro') 434 type(ctrl_out) :: o_dulif = ctrl_out((/ 4, 10, 10, 10, 10 /),'dulif') 435 type(ctrl_out) :: o_dvlif = ctrl_out((/ 4, 10, 10, 10, 10 /),'dvlif') 430 436 431 437 ! Attention a refaire correctement 432 type(ctrl_out), save,dimension(2) :: o_trac = (/ ctrl_out((/ 4, 10, 10, 10, 10 /),'trac01'), &438 type(ctrl_out),dimension(2) :: o_trac = (/ ctrl_out((/ 4, 10, 10, 10, 10 /),'trac01'), & 433 439 ctrl_out((/ 4, 10, 10, 10, 10 /),'trac02') /) 434 440 CONTAINS … … 440 446 441 447 SUBROUTINE phys_output_open(jjmp1,nlevSTD,clevSTD,nbteta, & 442 ctetaSTD,dtime, presnivs,ok_veget, &448 ctetaSTD,dtime,ok_veget, & 443 449 type_ocean, iflag_pbl,ok_mensuel,ok_journe, & 444 450 ok_hf,ok_instan,ok_LES,ok_ade,ok_aie) … … 456 462 include "clesphys.h" 457 463 include "thermcell.h" 464 include "comvert.h" 458 465 459 466 integer :: jjmp1 … … 464 471 integer :: idayref 465 472 real :: zjulian 466 real, dimension(klev) :: presnivs 473 ! real, dimension(klev) :: presnivs 474 real, dimension(klev) :: Ahyb, Bhyb, Lev, Alt 467 475 character(len=4), dimension(nlevSTD) :: clevSTD 468 476 integer :: nsrf, k, iq, iiq, iff, i, j, ilev … … 545 553 zdtime = dtime ! Frequence ou l on moyenne 546 554 555 do k=1,klev 556 Ahyb(k)=(ap(k)+ap(k+1))/2. 557 Bhyb(k)=(bp(k)+bp(k+1))/2. 558 Lev(k)=Ahyb(k)/preff+Bhyb(k) 559 Alt(k)=log(preff/presnivs(k))*8. 560 enddo 561 ! if(prt_level.ge.1) then 562 print*,'Ap Hybrid = ',Ahyb(1:klev) 563 print*,'Bp Hybrid = ',Bhyb(1:klev) 564 print*,'Hybrid sigma-pressure = ',Lev(1:klev) 565 print*,'Alt approx des couches pour une haut d echelle de 8km = ',Alt(1:klev) 566 ! endif 567 547 568 DO iff=1,nfiles 548 569 … … 606 627 ! & klev, presnivs/100., nvertm) 607 628 ! ENDIF 608 629 !!!! Ap, Bp, Lev, preff !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 630 CALL histvert(nid_files(iff), "Ap","Ap comp of Hyb Cord", "Pa", & 631 levmax(iff) - levmin(iff) + 1,Ahyb,nvertap(iff)) 632 633 CALL histvert(nid_files(iff), "Bp","Bp comp of Hyb Cord", " ", & 634 levmax(iff) - levmin(iff) + 1,Bhyb,nvertbp(iff)) 635 636 CALL histvert(nid_files(iff), "Lev","Hybrid Sigma-pressure coordinate", "Pa", & 637 levmax(iff) - levmin(iff) + 1,Lev,nvertLev(iff)) 638 639 CALL histvert(nid_files(iff), "Alt","Height approx for scale heigh of 8km at levels", "m", & 640 levmax(iff) - levmin(iff) + 1,Alt,nvertAlt(iff)) 641 642 ! CALL histvert(nid_files(iff), "preff","Reference pressure", "Pa", & 643 ! 1,preff,nvertp0(iff)) 644 609 645 !!! Champs 1D !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 610 646 CALL histdef2d(iff,o_phis%flag,o_phis%name,"Surface geop.height", "m2/s2") … … 618 654 type_ecri(:) = type_ecri_files(:) 619 655 620 !!! Champs 2D !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!656 !!! Champs 1D !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 621 657 CALL histdef2d(iff,o_contfracOR%flag,o_contfracOR%name,"% sfce terre OR", "-" ) 622 658 CALL histdef2d(iff,o_aireTER%flag,o_aireTER%name,"Grid area CONT", "-" ) … … 982 1018 end subroutine phys_output_open 983 1019 1020 SUBROUTINE histdef1d (iff,flag_var,nomvar,titrevar,unitvar) 1021 1022 use ioipsl 1023 USE dimphy 1024 USE mod_phys_lmdz_para 1025 1026 IMPLICIT NONE 1027 1028 include "dimensions.h" 1029 include "temps.h" 1030 include "indicesol.h" 1031 include "clesphys.h" 1032 1033 integer :: iff 1034 integer, dimension(nfiles) :: flag_var 1035 character(len=20) :: nomvar 1036 character(len=*) :: titrevar 1037 character(len=*) :: unitvar 1038 1039 real zstophym 1040 1041 if (type_ecri(iff)=='inst(X)') then 1042 zstophym=zoutm(iff) 1043 else 1044 zstophym=zdtime 1045 endif 1046 1047 ! Appel a la lecture des noms et niveau d'ecriture des variables dans output.def 1048 call conf_physoutputs(nomvar,flag_var) 1049 1050 if ( flag_var(iff)<=lev_files(iff) ) then 1051 call histdef (nid_files(iff),nomvar,titrevar,unitvar, & 1052 1,1,nhorim(iff), klev,1,klev,nvertm(iff), & 1053 32, type_ecri(iff), zstophym,zoutm(iff)) 1054 1055 endif 1056 end subroutine histdef1d 1057 1058 984 1059 SUBROUTINE histdef2d (iff,flag_var,nomvar,titrevar,unitvar) 985 1060 … … 1068 1143 character(len=20) :: nam_var 1069 1144 integer, dimension(nfiles) :: flag_var 1070 1145 integer, dimension(nfiles),save :: flag_var_omp 1146 character(len=20),save :: nam_var_omp 1147 1148 flag_var_omp = flag_var 1149 nam_var_omp = nam_var 1071 1150 IF(prt_level>10) WRITE(lunout,*)'Avant getin: nam_var flag_var ',nam_var,flag_var(:) 1072 call getin('flag_'//nam_var,flag_var) 1073 call getin('name_'//nam_var,nam_var) 1151 call getin('flag_'//nam_var,flag_var_omp) 1152 flag_var = flag_var_omp 1153 call getin('name_'//nam_var,nam_var_omp) 1154 nam_var=nam_var_omp 1155 1074 1156 IF(prt_level>10) WRITE(lunout,*)'Apres getin: nam_var flag_var ',nam_var,flag_var(:) 1075 1157 -
LMDZ4/branches/LMDZ4-dev/libf/phylmd/physiq.F
r1191 r1196 1451 1451 c$OMP MASTER 1452 1452 call phys_output_open(jjmp1,nlevSTD,clevSTD,nbteta, 1453 & ctetaSTD,dtime, presnivs,ok_veget,1453 & ctetaSTD,dtime,ok_veget, 1454 1454 & type_ocean,iflag_pbl,ok_mensuel,ok_journe, 1455 1455 & ok_hf,ok_instan,ok_LES,ok_ade,ok_aie)
Note: See TracChangeset
for help on using the changeset viewer.