Changeset 1534 for LMDZ4/branches/LMDZ4_AR5/libf/phylmd/phys_output_mod.F90
- Timestamp:
- Jun 3, 2011, 7:28:17 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ4/branches/LMDZ4_AR5/libf/phylmd/phys_output_mod.F90
r1419 r1534 17 17 18 18 19 integer, parameter :: nfiles = 519 integer, parameter :: nfiles = 6 20 20 logical, dimension(nfiles), save :: clef_files 21 logical, dimension(nfiles), save :: clef_stations 21 22 integer, dimension(nfiles), save :: lev_files 22 23 integer, dimension(nfiles), save :: nid_files 23 !!$OMP THREADPRIVATE(clef_files, lev_files,nid_files) 24 integer, dimension(nfiles), save :: nnid_files 25 !!$OMP THREADPRIVATE(clef_files, clef_stations, lev_files,nid_files,nnid_files) 26 integer, dimension(nfiles), private, save :: nnhorim 24 27 25 28 integer, dimension(nfiles), private, save :: nhorim, nvertm … … 42 45 43 46 TYPE ctrl_out 44 integer,dimension( 5) :: flag47 integer,dimension(6) :: flag 45 48 character(len=20) :: name 46 49 END TYPE ctrl_out … … 48 51 !!! Comosentes de la coordonnee sigma-hybride 49 52 !!! Ap et Bp 50 type(ctrl_out),save :: o_Ahyb = ctrl_out((/ 1, 1, 1, 1, 1 /), 'Ap')51 type(ctrl_out),save :: o_Bhyb = ctrl_out((/ 1, 1, 1, 1, 1 /), 'Bp')52 type(ctrl_out),save :: o_Alt = ctrl_out((/ 1, 1, 1, 1, 1 /), 'Alt')53 type(ctrl_out),save :: o_Ahyb = ctrl_out((/ 1, 1, 1, 1, 1, 1 /), 'Ap') 54 type(ctrl_out),save :: o_Bhyb = ctrl_out((/ 1, 1, 1, 1, 1, 1 /), 'Bp') 55 type(ctrl_out),save :: o_Alt = ctrl_out((/ 1, 1, 1, 1, 1, 1 /), 'Alt') 53 56 54 57 !!! 1D 55 type(ctrl_out),save :: o_phis = ctrl_out((/ 1, 1, 10, 5, 1 /), 'phis')56 type(ctrl_out),save :: o_aire = ctrl_out((/ 1, 1, 10, 10, 1 /),'aire')57 type(ctrl_out),save :: o_contfracATM = ctrl_out((/ 10, 1, 1, 10, 10 /),'contfracATM')58 type(ctrl_out),save :: o_contfracOR = ctrl_out((/ 10, 1, 1, 10, 10 /),'contfracOR')59 type(ctrl_out),save :: o_aireTER = ctrl_out((/ 10, 10, 1, 10, 10 /),'aireTER')58 type(ctrl_out),save :: o_phis = ctrl_out((/ 1, 1, 10, 5, 1, 1 /), 'phis') 59 type(ctrl_out),save :: o_aire = ctrl_out((/ 1, 1, 10, 10, 1, 1 /),'aire') 60 type(ctrl_out),save :: o_contfracATM = ctrl_out((/ 10, 1, 1, 10, 10, 10 /),'contfracATM') 61 type(ctrl_out),save :: o_contfracOR = ctrl_out((/ 10, 1, 1, 10, 10, 10 /),'contfracOR') 62 type(ctrl_out),save :: o_aireTER = ctrl_out((/ 10, 10, 1, 10, 10, 10 /),'aireTER') 60 63 61 64 !!! 2D 62 type(ctrl_out),save :: o_flat = ctrl_out((/ 5, 1, 10, 10, 5 /),'flat')63 type(ctrl_out),save :: o_slp = ctrl_out((/ 1, 1, 1, 10, 10 /),'slp')64 type(ctrl_out),save :: o_tsol = ctrl_out((/ 1, 1, 1, 5, 10 /),'tsol')65 type(ctrl_out),save :: o_t2m = ctrl_out((/ 1, 1, 1, 5, 10 /),'t2m')66 type(ctrl_out),save :: o_t2m_min = ctrl_out((/ 1, 1, 10, 10, 10 /),'t2m_min')67 type(ctrl_out),save :: o_t2m_max = ctrl_out((/ 1, 1, 10, 10, 10 /),'t2m_max')68 type(ctrl_out),save,dimension(4) :: o_t2m_srf = (/ ctrl_out((/ 10, 6, 10, 10, 10 /),'t2m_ter'), &69 ctrl_out((/ 10, 6, 10, 10, 10 /),'t2m_lic'), &70 ctrl_out((/ 10, 6, 10, 10, 10 /),'t2m_oce'), &71 ctrl_out((/ 10, 6, 10, 10, 10 /),'t2m_sic') /)72 73 type(ctrl_out),save :: o_wind10m = ctrl_out((/ 1, 1, 1, 10, 10 /),'wind10m')74 type(ctrl_out),save :: o_wind10max = ctrl_out((/ 10, 1, 10, 10, 10 /),'wind10max')75 type(ctrl_out),save :: o_sicf = ctrl_out((/ 1, 1, 10, 10, 10 /),'sicf')76 type(ctrl_out),save :: o_q2m = ctrl_out((/ 1, 1, 1, 5, 10 /),'q2m')77 type(ctrl_out),save :: o_u10m = ctrl_out((/ 1, 1, 1, 5, 10 /),'u10m')78 type(ctrl_out),save :: o_v10m = ctrl_out((/ 1, 1, 1, 5, 10 /),'v10m')79 type(ctrl_out),save :: o_psol = ctrl_out((/ 1, 1, 1, 5, 10 /),'psol')80 type(ctrl_out),save :: o_qsurf = ctrl_out((/ 1, 10, 10, 10, 10 /),'qsurf')81 82 type(ctrl_out),save,dimension(4) :: o_u10m_srf = (/ ctrl_out((/ 10, 6, 10, 10, 10 /),'u10m_ter'), &83 ctrl_out((/ 10, 6, 10, 10, 10 /),'u10m_lic'), &84 ctrl_out((/ 10, 6, 10, 10, 10 /),'u10m_oce'), &85 ctrl_out((/ 10, 6, 10, 10, 10 /),'u10m_sic') /)86 87 type(ctrl_out),save,dimension(4) :: o_v10m_srf = (/ ctrl_out((/ 10, 6, 10, 10, 10 /),'v10m_ter'), &88 ctrl_out((/ 10, 6, 10, 10, 10 /),'v10m_lic'), &89 ctrl_out((/ 10, 6, 10, 10, 10 /),'v10m_oce'), &90 ctrl_out((/ 10, 6, 10, 10, 10 /),'v10m_sic') /)91 92 type(ctrl_out),save :: o_qsol = ctrl_out((/ 1, 10, 10, 10, 10 /),'qsol')93 94 type(ctrl_out),save :: o_ndayrain = ctrl_out((/ 1, 10, 10, 10, 10 /),'ndayrain')95 type(ctrl_out),save :: o_precip = ctrl_out((/ 1, 1, 1, 10, 5 /),'precip')96 type(ctrl_out),save :: o_plul = ctrl_out((/ 1, 1, 1, 10, 10 /),'plul')97 98 type(ctrl_out),save :: o_pluc = ctrl_out((/ 1, 1, 1, 10, 5 /),'pluc')99 type(ctrl_out),save :: o_snow = ctrl_out((/ 1, 1, 10, 10, 5 /),'snow')100 type(ctrl_out),save :: o_evap = ctrl_out((/ 1, 1, 10, 10, 10 /),'evap')101 type(ctrl_out),save,dimension(4) :: o_evap_srf = (/ ctrl_out((/ 1, 6, 10, 10, 10 /),'evap_ter'), &102 ctrl_out((/ 1, 6, 10, 10, 10 /),'evap_lic'), &103 ctrl_out((/ 1, 6, 10, 10, 10 /),'evap_oce'), &104 ctrl_out((/ 1, 6, 10, 10, 10 /),'evap_sic') /)105 type(ctrl_out),save :: o_msnow = ctrl_out((/ 1, 10, 10, 10, 10 /),'msnow')106 type(ctrl_out),save :: o_fsnow = ctrl_out((/ 1, 10, 10, 10, 10 /),'fsnow')107 108 type(ctrl_out),save :: o_tops = ctrl_out((/ 1, 1, 10, 10, 10 /),'tops')109 type(ctrl_out),save :: o_tops0 = ctrl_out((/ 1, 5, 10, 10, 10 /),'tops0')110 type(ctrl_out),save :: o_topl = ctrl_out((/ 1, 1, 10, 5, 10 /),'topl')111 type(ctrl_out),save :: o_topl0 = ctrl_out((/ 1, 5, 10, 10, 10 /),'topl0')112 type(ctrl_out),save :: o_SWupTOA = ctrl_out((/ 1, 4, 10, 10, 10 /),'SWupTOA')113 type(ctrl_out),save :: o_SWupTOAclr = ctrl_out((/ 1, 4, 10, 10, 10 /),'SWupTOAclr')114 type(ctrl_out),save :: o_SWdnTOA = ctrl_out((/ 1, 4, 10, 10, 10 /),'SWdnTOA')115 type(ctrl_out),save :: o_SWdnTOAclr = ctrl_out((/ 1, 4, 10, 10, 10 /),'SWdnTOAclr')116 type(ctrl_out),save :: o_nettop = ctrl_out((/ 1, 4, 10, 10, 10 /),'nettop')117 118 type(ctrl_out),save :: o_SWup200 = ctrl_out((/ 1, 10, 10, 10, 10 /),'SWup200')119 type(ctrl_out),save :: o_SWup200clr = ctrl_out((/ 10, 1, 10, 10, 10 /),'SWup200clr')120 type(ctrl_out),save :: o_SWdn200 = ctrl_out((/ 1, 10, 10, 10, 10 /),'SWdn200')121 type(ctrl_out),save :: o_SWdn200clr = ctrl_out((/ 10, 1, 10, 10, 10 /),'SWdn200clr')65 type(ctrl_out),save :: o_flat = ctrl_out((/ 5, 1, 10, 10, 5, 10 /),'flat') 66 type(ctrl_out),save :: o_slp = ctrl_out((/ 1, 1, 1, 10, 10, 10 /),'slp') 67 type(ctrl_out),save :: o_tsol = ctrl_out((/ 1, 1, 1, 5, 10, 10 /),'tsol') 68 type(ctrl_out),save :: o_t2m = ctrl_out((/ 1, 1, 1, 5, 10, 10 /),'t2m') 69 type(ctrl_out),save :: o_t2m_min = ctrl_out((/ 1, 1, 10, 10, 10, 10 /),'t2m_min') 70 type(ctrl_out),save :: o_t2m_max = ctrl_out((/ 1, 1, 10, 10, 10, 10 /),'t2m_max') 71 type(ctrl_out),save,dimension(4) :: o_t2m_srf = (/ ctrl_out((/ 10, 6, 10, 10, 10, 10 /),'t2m_ter'), & 72 ctrl_out((/ 10, 6, 10, 10, 10, 10 /),'t2m_lic'), & 73 ctrl_out((/ 10, 6, 10, 10, 10, 10 /),'t2m_oce'), & 74 ctrl_out((/ 10, 6, 10, 10, 10, 10 /),'t2m_sic') /) 75 76 type(ctrl_out),save :: o_wind10m = ctrl_out((/ 1, 1, 1, 10, 10, 10 /),'wind10m') 77 type(ctrl_out),save :: o_wind10max = ctrl_out((/ 10, 1, 10, 10, 10, 10 /),'wind10max') 78 type(ctrl_out),save :: o_sicf = ctrl_out((/ 1, 1, 10, 10, 10, 10 /),'sicf') 79 type(ctrl_out),save :: o_q2m = ctrl_out((/ 1, 1, 1, 5, 10, 10 /),'q2m') 80 type(ctrl_out),save :: o_u10m = ctrl_out((/ 1, 1, 1, 5, 10, 10 /),'u10m') 81 type(ctrl_out),save :: o_v10m = ctrl_out((/ 1, 1, 1, 5, 10, 10 /),'v10m') 82 type(ctrl_out),save :: o_psol = ctrl_out((/ 1, 1, 1, 5, 10, 10 /),'psol') 83 type(ctrl_out),save :: o_qsurf = ctrl_out((/ 1, 10, 10, 10, 10, 10 /),'qsurf') 84 85 type(ctrl_out),save,dimension(4) :: o_u10m_srf = (/ ctrl_out((/ 10, 6, 10, 10, 10, 10 /),'u10m_ter'), & 86 ctrl_out((/ 10, 6, 10, 10, 10, 10 /),'u10m_lic'), & 87 ctrl_out((/ 10, 6, 10, 10, 10, 10 /),'u10m_oce'), & 88 ctrl_out((/ 10, 6, 10, 10, 10, 10 /),'u10m_sic') /) 89 90 type(ctrl_out),save,dimension(4) :: o_v10m_srf = (/ ctrl_out((/ 10, 6, 10, 10, 10, 10 /),'v10m_ter'), & 91 ctrl_out((/ 10, 6, 10, 10, 10, 10 /),'v10m_lic'), & 92 ctrl_out((/ 10, 6, 10, 10, 10, 10 /),'v10m_oce'), & 93 ctrl_out((/ 10, 6, 10, 10, 10, 10 /),'v10m_sic') /) 94 95 type(ctrl_out),save :: o_qsol = ctrl_out((/ 1, 10, 10, 10, 10, 10 /),'qsol') 96 97 type(ctrl_out),save :: o_ndayrain = ctrl_out((/ 1, 10, 10, 10, 10, 10 /),'ndayrain') 98 type(ctrl_out),save :: o_precip = ctrl_out((/ 1, 1, 1, 10, 5, 10 /),'precip') 99 type(ctrl_out),save :: o_plul = ctrl_out((/ 1, 1, 1, 10, 10, 10 /),'plul') 100 101 type(ctrl_out),save :: o_pluc = ctrl_out((/ 1, 1, 1, 10, 5, 10 /),'pluc') 102 type(ctrl_out),save :: o_snow = ctrl_out((/ 1, 1, 10, 10, 5, 10 /),'snow') 103 type(ctrl_out),save :: o_evap = ctrl_out((/ 1, 1, 10, 10, 10, 10 /),'evap') 104 type(ctrl_out),save,dimension(4) :: o_evap_srf = (/ ctrl_out((/ 1, 6, 10, 10, 10, 10 /),'evap_ter'), & 105 ctrl_out((/ 1, 6, 10, 10, 10, 10 /),'evap_lic'), & 106 ctrl_out((/ 1, 6, 10, 10, 10, 10 /),'evap_oce'), & 107 ctrl_out((/ 1, 6, 10, 10, 10, 10 /),'evap_sic') /) 108 type(ctrl_out),save :: o_msnow = ctrl_out((/ 1, 10, 10, 10, 10, 10 /),'msnow') 109 type(ctrl_out),save :: o_fsnow = ctrl_out((/ 1, 10, 10, 10, 10, 10 /),'fsnow') 110 111 type(ctrl_out),save :: o_tops = ctrl_out((/ 1, 1, 10, 10, 10, 10 /),'tops') 112 type(ctrl_out),save :: o_tops0 = ctrl_out((/ 1, 5, 10, 10, 10, 10 /),'tops0') 113 type(ctrl_out),save :: o_topl = ctrl_out((/ 1, 1, 10, 5, 10, 10 /),'topl') 114 type(ctrl_out),save :: o_topl0 = ctrl_out((/ 1, 5, 10, 10, 10, 10 /),'topl0') 115 type(ctrl_out),save :: o_SWupTOA = ctrl_out((/ 1, 4, 10, 10, 10, 10 /),'SWupTOA') 116 type(ctrl_out),save :: o_SWupTOAclr = ctrl_out((/ 1, 4, 10, 10, 10, 10 /),'SWupTOAclr') 117 type(ctrl_out),save :: o_SWdnTOA = ctrl_out((/ 1, 4, 10, 10, 10, 10 /),'SWdnTOA') 118 type(ctrl_out),save :: o_SWdnTOAclr = ctrl_out((/ 1, 4, 10, 10, 10, 10 /),'SWdnTOAclr') 119 type(ctrl_out),save :: o_nettop = ctrl_out((/ 1, 4, 10, 10, 10, 10 /),'nettop') 120 121 type(ctrl_out),save :: o_SWup200 = ctrl_out((/ 1, 10, 10, 10, 10, 10 /),'SWup200') 122 type(ctrl_out),save :: o_SWup200clr = ctrl_out((/ 10, 1, 10, 10, 10, 10 /),'SWup200clr') 123 type(ctrl_out),save :: o_SWdn200 = ctrl_out((/ 1, 10, 10, 10, 10, 10 /),'SWdn200') 124 type(ctrl_out),save :: o_SWdn200clr = ctrl_out((/ 10, 1, 10, 10, 10, 10 /),'SWdn200clr') 122 125 123 126 ! arajouter 124 ! type(ctrl_out),save :: o_LWupTOA = ctrl_out((/ 1, 4, 10, 10, 10 /),'LWupTOA')125 ! type(ctrl_out),save :: o_LWupTOAclr = ctrl_out((/ 1, 4, 10, 10, 10 /),'LWupTOAclr')126 ! type(ctrl_out),save :: o_LWdnTOA = ctrl_out((/ 1, 4, 10, 10, 10 /),'LWdnTOA')127 ! type(ctrl_out),save :: o_LWdnTOAclr = ctrl_out((/ 1, 4, 10, 10, 10 /),'LWdnTOAclr')128 129 type(ctrl_out),save :: o_LWup200 = ctrl_out((/ 1, 10, 10, 10, 10 /),'LWup200')130 type(ctrl_out),save :: o_LWup200clr = ctrl_out((/ 1, 10, 10, 10, 10 /),'LWup200clr')131 type(ctrl_out),save :: o_LWdn200 = ctrl_out((/ 1, 10, 10, 10, 10 /),'LWdn200')132 type(ctrl_out),save :: o_LWdn200clr = ctrl_out((/ 1, 10, 10, 10, 10 /),'LWdn200clr')133 type(ctrl_out),save :: o_sols = ctrl_out((/ 1, 1, 10, 10, 10 /),'sols')134 type(ctrl_out),save :: o_sols0 = ctrl_out((/ 1, 5, 10, 10, 10 /),'sols0')135 type(ctrl_out),save :: o_soll = ctrl_out((/ 1, 1, 10, 10, 10 /),'soll')136 type(ctrl_out),save :: o_soll0 = ctrl_out((/ 1, 5, 10, 10, 10 /),'soll0')137 type(ctrl_out),save :: o_radsol = ctrl_out((/ 1, 7, 10, 10, 10 /),'radsol')138 type(ctrl_out),save :: o_SWupSFC = ctrl_out((/ 1, 4, 10, 10, 5 /),'SWupSFC')139 type(ctrl_out),save :: o_SWupSFCclr = ctrl_out((/ 1, 4, 10, 10, 5 /),'SWupSFCclr')140 type(ctrl_out),save :: o_SWdnSFC = ctrl_out((/ 1, 1, 10, 10, 5 /),'SWdnSFC')141 type(ctrl_out),save :: o_SWdnSFCclr = ctrl_out((/ 1, 4, 10, 10, 5 /),'SWdnSFCclr')142 type(ctrl_out),save :: o_LWupSFC = ctrl_out((/ 1, 4, 10, 10, 5 /),'LWupSFC')143 type(ctrl_out),save :: o_LWupSFCclr = ctrl_out((/ 1, 4, 10, 10, 5 /),'LWupSFCclr')144 type(ctrl_out),save :: o_LWdnSFC = ctrl_out((/ 1, 4, 10, 10, 5 /),'LWdnSFC')145 type(ctrl_out),save :: o_LWdnSFCclr = ctrl_out((/ 1, 4, 10, 10, 5 /),'LWdnSFCclr')146 type(ctrl_out),save :: o_bils = ctrl_out((/ 1, 2, 10, 5, 10 /),'bils')147 type(ctrl_out),save :: o_sens = ctrl_out((/ 1, 1, 10, 10, 5 /),'sens')148 type(ctrl_out),save :: o_fder = ctrl_out((/ 1, 2, 10, 10, 10 /),'fder')149 type(ctrl_out),save :: o_ffonte = ctrl_out((/ 1, 10, 10, 10, 10 /),'ffonte')150 type(ctrl_out),save :: o_fqcalving = ctrl_out((/ 1, 10, 10, 10, 10 /),'fqcalving')151 type(ctrl_out),save :: o_fqfonte = ctrl_out((/ 1, 10, 10, 10, 10 /),'fqfonte')152 153 type(ctrl_out),save :: o_taux = ctrl_out((/ 1, 10, 10, 10, 10 /),'taux')154 type(ctrl_out),save :: o_tauy = ctrl_out((/ 1, 10, 10, 10, 10 /),'tauy')155 type(ctrl_out),save,dimension(4) :: o_taux_srf = (/ ctrl_out((/ 1, 6, 10, 10, 10 /),'taux_ter'), &156 ctrl_out((/ 1, 6, 10, 10, 10 /),'taux_lic'), &157 ctrl_out((/ 1, 6, 10, 10, 10 /),'taux_oce'), &158 ctrl_out((/ 1, 6, 10, 10, 10 /),'taux_sic') /)159 160 type(ctrl_out),save,dimension(4) :: o_tauy_srf = (/ ctrl_out((/ 1, 6, 10, 10, 10 /),'tauy_ter'), &161 ctrl_out((/ 1, 6, 10, 10, 10 /),'tauy_lic'), &162 ctrl_out((/ 1, 6, 10, 10, 10 /),'tauy_oce'), &163 ctrl_out((/ 1, 6, 10, 10, 10 /),'tauy_sic') /)164 165 166 type(ctrl_out),save,dimension(4) :: o_pourc_srf = (/ ctrl_out((/ 1, 7, 10, 10, 10 /),'pourc_ter'), &167 ctrl_out((/ 1, 7, 10, 10, 10 /),'pourc_lic'), &168 ctrl_out((/ 1, 7, 10, 10, 10 /),'pourc_oce'), &169 ctrl_out((/ 1, 7, 10, 10, 10 /),'pourc_sic') /)170 171 type(ctrl_out),save,dimension(4) :: o_fract_srf = (/ ctrl_out((/ 1, 6, 10, 10, 10 /),'fract_ter'), &172 ctrl_out((/ 1, 6, 10, 10, 10 /),'fract_lic'), &173 ctrl_out((/ 1, 6, 10, 10, 10 /),'fract_oce'), &174 ctrl_out((/ 1, 6, 10, 10, 10 /),'fract_sic') /)175 176 type(ctrl_out),save,dimension(4) :: o_tsol_srf = (/ ctrl_out((/ 1, 6, 10, 10, 10 /),'tsol_ter'), &177 ctrl_out((/ 1, 6, 10, 10, 10 /),'tsol_lic'), &178 ctrl_out((/ 1, 6, 10, 10, 10 /),'tsol_oce'), &179 ctrl_out((/ 1, 6, 10, 10, 10 /),'tsol_sic') /)180 181 type(ctrl_out),save,dimension(4) :: o_sens_srf = (/ ctrl_out((/ 1, 6, 10, 7, 10 /),'sens_ter'), &182 ctrl_out((/ 1, 6, 10, 7, 10 /),'sens_lic'), &183 ctrl_out((/ 1, 6, 10, 7, 10 /),'sens_oce'), &184 ctrl_out((/ 1, 6, 10, 7, 10 /),'sens_sic') /)185 186 type(ctrl_out),save,dimension(4) :: o_lat_srf = (/ ctrl_out((/ 1, 6, 10, 7, 10 /),'lat_ter'), &187 ctrl_out((/ 1, 6, 10, 7, 10 /),'lat_lic'), &188 ctrl_out((/ 1, 6, 10, 7, 10 /),'lat_oce'), &189 ctrl_out((/ 1, 6, 10, 7, 10 /),'lat_sic') /)190 191 type(ctrl_out),save,dimension(4) :: o_flw_srf = (/ ctrl_out((/ 1, 10, 10, 10, 10 /),'flw_ter'), &192 ctrl_out((/ 1, 10, 10, 10, 10 /),'flw_lic'), &193 ctrl_out((/ 1, 10, 10, 10, 10 /),'flw_oce'), &194 ctrl_out((/ 1, 10, 10, 10, 10 /),'flw_sic') /)127 ! type(ctrl_out),save :: o_LWupTOA = ctrl_out((/ 1, 4, 10, 10, 10, 10 /),'LWupTOA') 128 ! type(ctrl_out),save :: o_LWupTOAclr = ctrl_out((/ 1, 4, 10, 10, 10, 10 /),'LWupTOAclr') 129 ! type(ctrl_out),save :: o_LWdnTOA = ctrl_out((/ 1, 4, 10, 10, 10, 10 /),'LWdnTOA') 130 ! type(ctrl_out),save :: o_LWdnTOAclr = ctrl_out((/ 1, 4, 10, 10, 10, 10 /),'LWdnTOAclr') 131 132 type(ctrl_out),save :: o_LWup200 = ctrl_out((/ 1, 10, 10, 10, 10, 10 /),'LWup200') 133 type(ctrl_out),save :: o_LWup200clr = ctrl_out((/ 1, 10, 10, 10, 10, 10 /),'LWup200clr') 134 type(ctrl_out),save :: o_LWdn200 = ctrl_out((/ 1, 10, 10, 10, 10, 10 /),'LWdn200') 135 type(ctrl_out),save :: o_LWdn200clr = ctrl_out((/ 1, 10, 10, 10, 10, 10 /),'LWdn200clr') 136 type(ctrl_out),save :: o_sols = ctrl_out((/ 1, 1, 10, 10, 10, 10 /),'sols') 137 type(ctrl_out),save :: o_sols0 = ctrl_out((/ 1, 5, 10, 10, 10, 10 /),'sols0') 138 type(ctrl_out),save :: o_soll = ctrl_out((/ 1, 1, 10, 10, 10, 10 /),'soll') 139 type(ctrl_out),save :: o_soll0 = ctrl_out((/ 1, 5, 10, 10, 10, 10 /),'soll0') 140 type(ctrl_out),save :: o_radsol = ctrl_out((/ 1, 7, 10, 10, 10, 10 /),'radsol') 141 type(ctrl_out),save :: o_SWupSFC = ctrl_out((/ 1, 4, 10, 10, 5, 10 /),'SWupSFC') 142 type(ctrl_out),save :: o_SWupSFCclr = ctrl_out((/ 1, 4, 10, 10, 5, 10 /),'SWupSFCclr') 143 type(ctrl_out),save :: o_SWdnSFC = ctrl_out((/ 1, 1, 10, 10, 5, 10 /),'SWdnSFC') 144 type(ctrl_out),save :: o_SWdnSFCclr = ctrl_out((/ 1, 4, 10, 10, 5, 10 /),'SWdnSFCclr') 145 type(ctrl_out),save :: o_LWupSFC = ctrl_out((/ 1, 4, 10, 10, 5, 10 /),'LWupSFC') 146 type(ctrl_out),save :: o_LWupSFCclr = ctrl_out((/ 1, 4, 10, 10, 5, 10 /),'LWupSFCclr') 147 type(ctrl_out),save :: o_LWdnSFC = ctrl_out((/ 1, 4, 10, 10, 5, 10 /),'LWdnSFC') 148 type(ctrl_out),save :: o_LWdnSFCclr = ctrl_out((/ 1, 4, 10, 10, 5, 10 /),'LWdnSFCclr') 149 type(ctrl_out),save :: o_bils = ctrl_out((/ 1, 2, 10, 5, 10, 10 /),'bils') 150 type(ctrl_out),save :: o_sens = ctrl_out((/ 1, 1, 10, 10, 5, 10 /),'sens') 151 type(ctrl_out),save :: o_fder = ctrl_out((/ 1, 2, 10, 10, 10, 10 /),'fder') 152 type(ctrl_out),save :: o_ffonte = ctrl_out((/ 1, 10, 10, 10, 10, 10 /),'ffonte') 153 type(ctrl_out),save :: o_fqcalving = ctrl_out((/ 1, 10, 10, 10, 10, 10 /),'fqcalving') 154 type(ctrl_out),save :: o_fqfonte = ctrl_out((/ 1, 10, 10, 10, 10, 10 /),'fqfonte') 155 156 type(ctrl_out),save :: o_taux = ctrl_out((/ 1, 10, 10, 10, 10, 10 /),'taux') 157 type(ctrl_out),save :: o_tauy = ctrl_out((/ 1, 10, 10, 10, 10, 10 /),'tauy') 158 type(ctrl_out),save,dimension(4) :: o_taux_srf = (/ ctrl_out((/ 1, 6, 10, 10, 10, 10 /),'taux_ter'), & 159 ctrl_out((/ 1, 6, 10, 10, 10, 10 /),'taux_lic'), & 160 ctrl_out((/ 1, 6, 10, 10, 10, 10 /),'taux_oce'), & 161 ctrl_out((/ 1, 6, 10, 10, 10, 10 /),'taux_sic') /) 162 163 type(ctrl_out),save,dimension(4) :: o_tauy_srf = (/ ctrl_out((/ 1, 6, 10, 10, 10, 10 /),'tauy_ter'), & 164 ctrl_out((/ 1, 6, 10, 10, 10, 10 /),'tauy_lic'), & 165 ctrl_out((/ 1, 6, 10, 10, 10, 10 /),'tauy_oce'), & 166 ctrl_out((/ 1, 6, 10, 10, 10, 10 /),'tauy_sic') /) 167 168 169 type(ctrl_out),save,dimension(4) :: o_pourc_srf = (/ ctrl_out((/ 1, 7, 10, 10, 10, 10 /),'pourc_ter'), & 170 ctrl_out((/ 1, 7, 10, 10, 10, 10 /),'pourc_lic'), & 171 ctrl_out((/ 1, 7, 10, 10, 10, 10 /),'pourc_oce'), & 172 ctrl_out((/ 1, 7, 10, 10, 10, 10 /),'pourc_sic') /) 173 174 type(ctrl_out),save,dimension(4) :: o_fract_srf = (/ ctrl_out((/ 1, 6, 10, 10, 10, 10 /),'fract_ter'), & 175 ctrl_out((/ 1, 6, 10, 10, 10, 10 /),'fract_lic'), & 176 ctrl_out((/ 1, 6, 10, 10, 10, 10 /),'fract_oce'), & 177 ctrl_out((/ 1, 6, 10, 10, 10, 10 /),'fract_sic') /) 178 179 type(ctrl_out),save,dimension(4) :: o_tsol_srf = (/ ctrl_out((/ 1, 6, 10, 10, 10, 10 /),'tsol_ter'), & 180 ctrl_out((/ 1, 6, 10, 10, 10, 10 /),'tsol_lic'), & 181 ctrl_out((/ 1, 6, 10, 10, 10, 10 /),'tsol_oce'), & 182 ctrl_out((/ 1, 6, 10, 10, 10, 10 /),'tsol_sic') /) 183 184 type(ctrl_out),save,dimension(4) :: o_sens_srf = (/ ctrl_out((/ 1, 6, 10, 7, 10, 10 /),'sens_ter'), & 185 ctrl_out((/ 1, 6, 10, 7, 10, 10 /),'sens_lic'), & 186 ctrl_out((/ 1, 6, 10, 7, 10, 10 /),'sens_oce'), & 187 ctrl_out((/ 1, 6, 10, 7, 10, 10 /),'sens_sic') /) 188 189 type(ctrl_out),save,dimension(4) :: o_lat_srf = (/ ctrl_out((/ 1, 6, 10, 7, 10, 10 /),'lat_ter'), & 190 ctrl_out((/ 1, 6, 10, 7, 10, 10 /),'lat_lic'), & 191 ctrl_out((/ 1, 6, 10, 7, 10, 10 /),'lat_oce'), & 192 ctrl_out((/ 1, 6, 10, 7, 10, 10 /),'lat_sic') /) 193 194 type(ctrl_out),save,dimension(4) :: o_flw_srf = (/ ctrl_out((/ 1, 10, 10, 10, 10, 10 /),'flw_ter'), & 195 ctrl_out((/ 1, 10, 10, 10, 10, 10 /),'flw_lic'), & 196 ctrl_out((/ 1, 10, 10, 10, 10, 10 /),'flw_oce'), & 197 ctrl_out((/ 1, 10, 10, 10, 10, 10 /),'flw_sic') /) 195 198 196 type(ctrl_out),save,dimension(4) :: o_fsw_srf = (/ ctrl_out((/ 1, 10, 10, 10, 10 /),'fsw_ter'), &197 ctrl_out((/ 1, 10, 10, 10, 10 /),'fsw_lic'), &198 ctrl_out((/ 1, 10, 10, 10, 10 /),'fsw_oce'), &199 ctrl_out((/ 1, 10, 10, 10, 10 /),'fsw_sic') /)200 201 type(ctrl_out),save,dimension(4) :: o_wbils_srf = (/ ctrl_out((/ 1, 10, 10, 10, 10 /),'wbils_ter'), &202 ctrl_out((/ 1, 10, 10, 10, 10 /),'wbils_lic'), &203 ctrl_out((/ 1, 10, 10, 10, 10 /),'wbils_oce'), &204 ctrl_out((/ 1, 10, 10, 10, 10 /),'wbils_sic') /)205 206 type(ctrl_out),save,dimension(4) :: o_wbilo_srf = (/ ctrl_out((/ 1, 10, 10, 10, 10 /),'wbilo_ter'), &207 ctrl_out((/ 1, 10, 10, 10, 10 /),'wbilo_lic'), &208 ctrl_out((/ 1, 10, 10, 10, 10 /),'wbilo_oce'), &209 ctrl_out((/ 1, 10, 10, 10, 10 /),'wbilo_sic') /)210 211 212 type(ctrl_out),save :: o_cdrm = ctrl_out((/ 1, 10, 10, 10, 10 /),'cdrm')213 type(ctrl_out),save :: o_cdrh = ctrl_out((/ 1, 10, 10, 7, 10 /),'cdrh')214 type(ctrl_out),save :: o_cldl = ctrl_out((/ 1, 1, 10, 10, 10 /),'cldl')215 type(ctrl_out),save :: o_cldm = ctrl_out((/ 1, 1, 10, 10, 10 /),'cldm')216 type(ctrl_out),save :: o_cldh = ctrl_out((/ 1, 1, 10, 10, 10 /),'cldh')217 type(ctrl_out),save :: o_cldt = ctrl_out((/ 1, 1, 2, 10, 5 /),'cldt')218 type(ctrl_out),save :: o_cldq = ctrl_out((/ 1, 1, 10, 10, 10 /),'cldq')219 type(ctrl_out),save :: o_lwp = ctrl_out((/ 1, 5, 10, 10, 10 /),'lwp')220 type(ctrl_out),save :: o_iwp = ctrl_out((/ 1, 5, 10, 10, 10 /),'iwp')221 type(ctrl_out),save :: o_ue = ctrl_out((/ 1, 10, 10, 10, 10 /),'ue')222 type(ctrl_out),save :: o_ve = ctrl_out((/ 1, 10, 10, 10, 10 /),'ve')223 type(ctrl_out),save :: o_uq = ctrl_out((/ 1, 10, 10, 10, 10 /),'uq')224 type(ctrl_out),save :: o_vq = ctrl_out((/ 1, 10, 10, 10, 10 /),'vq')199 type(ctrl_out),save,dimension(4) :: o_fsw_srf = (/ ctrl_out((/ 1, 10, 10, 10, 10, 10 /),'fsw_ter'), & 200 ctrl_out((/ 1, 10, 10, 10, 10, 10 /),'fsw_lic'), & 201 ctrl_out((/ 1, 10, 10, 10, 10, 10 /),'fsw_oce'), & 202 ctrl_out((/ 1, 10, 10, 10, 10, 10 /),'fsw_sic') /) 203 204 type(ctrl_out),save,dimension(4) :: o_wbils_srf = (/ ctrl_out((/ 1, 10, 10, 10, 10, 10 /),'wbils_ter'), & 205 ctrl_out((/ 1, 10, 10, 10, 10, 10 /),'wbils_lic'), & 206 ctrl_out((/ 1, 10, 10, 10, 10, 10 /),'wbils_oce'), & 207 ctrl_out((/ 1, 10, 10, 10, 10, 10 /),'wbils_sic') /) 208 209 type(ctrl_out),save,dimension(4) :: o_wbilo_srf = (/ ctrl_out((/ 1, 10, 10, 10, 10, 10 /),'wbilo_ter'), & 210 ctrl_out((/ 1, 10, 10, 10, 10, 10 /),'wbilo_lic'), & 211 ctrl_out((/ 1, 10, 10, 10, 10, 10 /),'wbilo_oce'), & 212 ctrl_out((/ 1, 10, 10, 10, 10, 10 /),'wbilo_sic') /) 213 214 215 type(ctrl_out),save :: o_cdrm = ctrl_out((/ 1, 10, 10, 10, 10, 10 /),'cdrm') 216 type(ctrl_out),save :: o_cdrh = ctrl_out((/ 1, 10, 10, 7, 10, 10 /),'cdrh') 217 type(ctrl_out),save :: o_cldl = ctrl_out((/ 1, 1, 10, 10, 10, 10 /),'cldl') 218 type(ctrl_out),save :: o_cldm = ctrl_out((/ 1, 1, 10, 10, 10, 10 /),'cldm') 219 type(ctrl_out),save :: o_cldh = ctrl_out((/ 1, 1, 10, 10, 10, 10 /),'cldh') 220 type(ctrl_out),save :: o_cldt = ctrl_out((/ 1, 1, 2, 10, 5, 10 /),'cldt') 221 type(ctrl_out),save :: o_cldq = ctrl_out((/ 1, 1, 10, 10, 10, 10 /),'cldq') 222 type(ctrl_out),save :: o_lwp = ctrl_out((/ 1, 5, 10, 10, 10, 10 /),'lwp') 223 type(ctrl_out),save :: o_iwp = ctrl_out((/ 1, 5, 10, 10, 10, 10 /),'iwp') 224 type(ctrl_out),save :: o_ue = ctrl_out((/ 1, 10, 10, 10, 10, 10 /),'ue') 225 type(ctrl_out),save :: o_ve = ctrl_out((/ 1, 10, 10, 10, 10, 10 /),'ve') 226 type(ctrl_out),save :: o_uq = ctrl_out((/ 1, 10, 10, 10, 10, 10 /),'uq') 227 type(ctrl_out),save :: o_vq = ctrl_out((/ 1, 10, 10, 10, 10, 10 /),'vq') 225 228 226 type(ctrl_out),save :: o_cape = ctrl_out((/ 1, 10, 10, 10, 10 /),'cape')227 type(ctrl_out),save :: o_pbase = ctrl_out((/ 1, 5, 10, 10, 10 /),'pbase')228 type(ctrl_out),save :: o_ptop = ctrl_out((/ 1, 5, 10, 10, 10 /),'ptop')229 type(ctrl_out),save :: o_fbase = ctrl_out((/ 1, 10, 10, 10, 10 /),'fbase')230 type(ctrl_out),save :: o_prw = ctrl_out((/ 1, 1, 10, 10, 10 /),'prw')231 232 type(ctrl_out),save :: o_s_pblh = ctrl_out((/ 1, 10, 10, 10, 10 /),'s_pblh')233 type(ctrl_out),save :: o_s_pblt = ctrl_out((/ 1, 10, 10, 10, 10 /),'s_pblt')234 type(ctrl_out),save :: o_s_lcl = ctrl_out((/ 1, 10, 10, 10, 10 /),'s_lcl')235 type(ctrl_out),save :: o_s_therm = ctrl_out((/ 1, 10, 10, 10, 10 /),'s_therm')229 type(ctrl_out),save :: o_cape = ctrl_out((/ 1, 10, 10, 10, 10, 10 /),'cape') 230 type(ctrl_out),save :: o_pbase = ctrl_out((/ 1, 5, 10, 10, 10, 10 /),'pbase') 231 type(ctrl_out),save :: o_ptop = ctrl_out((/ 1, 5, 10, 10, 10, 10 /),'ptop') 232 type(ctrl_out),save :: o_fbase = ctrl_out((/ 1, 10, 10, 10, 10, 10 /),'fbase') 233 type(ctrl_out),save :: o_prw = ctrl_out((/ 1, 1, 10, 10, 10, 10 /),'prw') 234 235 type(ctrl_out),save :: o_s_pblh = ctrl_out((/ 1, 10, 10, 10, 10, 10 /),'s_pblh') 236 type(ctrl_out),save :: o_s_pblt = ctrl_out((/ 1, 10, 10, 10, 10, 10 /),'s_pblt') 237 type(ctrl_out),save :: o_s_lcl = ctrl_out((/ 1, 10, 10, 10, 10, 10 /),'s_lcl') 238 type(ctrl_out),save :: o_s_therm = ctrl_out((/ 1, 10, 10, 10, 10, 10 /),'s_therm') 236 239 !IM : Les champs suivants (s_capCL, s_oliqCL, s_cteiCL, s_trmb1, s_trmb2, s_trmb3) ne sont pas definis dans HBTM.F 237 ! type(ctrl_out),save :: o_s_capCL = ctrl_out((/ 1, 10, 10, 10, 10 /),'s_capCL')238 ! type(ctrl_out),save :: o_s_oliqCL = ctrl_out((/ 1, 10, 10, 10, 10 /),'s_oliqCL')239 ! type(ctrl_out),save :: o_s_cteiCL = ctrl_out((/ 1, 10, 10, 10, 10 /),'s_cteiCL')240 ! type(ctrl_out),save :: o_s_trmb1 = ctrl_out((/ 1, 10, 10, 10, 10 /),'s_trmb1')241 ! type(ctrl_out),save :: o_s_trmb2 = ctrl_out((/ 1, 10, 10, 10, 10 /),'s_trmb2')242 ! type(ctrl_out),save :: o_s_trmb3 = ctrl_out((/ 1, 10, 10, 10, 10 /),'s_trmb3')243 244 type(ctrl_out),save :: o_slab_bils = ctrl_out((/ 1, 1, 10, 10, 10 /),'slab_bils_oce')245 246 type(ctrl_out),save :: o_ale_bl = ctrl_out((/ 1, 1, 1, 10, 10 /),'ale_bl')247 type(ctrl_out),save :: o_alp_bl = ctrl_out((/ 1, 1, 1, 10, 10 /),'alp_bl')248 type(ctrl_out),save :: o_ale_wk = ctrl_out((/ 1, 1, 1, 10, 10 /),'ale_wk')249 type(ctrl_out),save :: o_alp_wk = ctrl_out((/ 1, 1, 1, 10, 10 /),'alp_wk')250 251 type(ctrl_out),save :: o_ale = ctrl_out((/ 1, 1, 1, 10, 10 /),'ale')252 type(ctrl_out),save :: o_alp = ctrl_out((/ 1, 1, 1, 10, 10 /),'alp')253 type(ctrl_out),save :: o_cin = ctrl_out((/ 1, 1, 1, 10, 10 /),'cin')254 type(ctrl_out),save :: o_wape = ctrl_out((/ 1, 1, 1, 10, 10 /),'wape')240 ! type(ctrl_out),save :: o_s_capCL = ctrl_out((/ 1, 10, 10, 10, 10, 10 /),'s_capCL') 241 ! type(ctrl_out),save :: o_s_oliqCL = ctrl_out((/ 1, 10, 10, 10, 10, 10 /),'s_oliqCL') 242 ! type(ctrl_out),save :: o_s_cteiCL = ctrl_out((/ 1, 10, 10, 10, 10, 10 /),'s_cteiCL') 243 ! type(ctrl_out),save :: o_s_trmb1 = ctrl_out((/ 1, 10, 10, 10, 10, 10 /),'s_trmb1') 244 ! type(ctrl_out),save :: o_s_trmb2 = ctrl_out((/ 1, 10, 10, 10, 10, 10 /),'s_trmb2') 245 ! type(ctrl_out),save :: o_s_trmb3 = ctrl_out((/ 1, 10, 10, 10, 10, 10 /),'s_trmb3') 246 247 type(ctrl_out),save :: o_slab_bils = ctrl_out((/ 1, 1, 10, 10, 10, 10 /),'slab_bils_oce') 248 249 type(ctrl_out),save :: o_ale_bl = ctrl_out((/ 1, 1, 1, 10, 10, 10 /),'ale_bl') 250 type(ctrl_out),save :: o_alp_bl = ctrl_out((/ 1, 1, 1, 10, 10, 10 /),'alp_bl') 251 type(ctrl_out),save :: o_ale_wk = ctrl_out((/ 1, 1, 1, 10, 10, 10 /),'ale_wk') 252 type(ctrl_out),save :: o_alp_wk = ctrl_out((/ 1, 1, 1, 10, 10, 10 /),'alp_wk') 253 254 type(ctrl_out),save :: o_ale = ctrl_out((/ 1, 1, 1, 10, 10, 10 /),'ale') 255 type(ctrl_out),save :: o_alp = ctrl_out((/ 1, 1, 1, 10, 10, 10 /),'alp') 256 type(ctrl_out),save :: o_cin = ctrl_out((/ 1, 1, 1, 10, 10, 10 /),'cin') 257 type(ctrl_out),save :: o_wape = ctrl_out((/ 1, 1, 1, 10, 10, 10 /),'wape') 255 258 256 259 257 260 ! Champs interpolles sur des niveaux de pression ??? a faire correctement 258 261 259 type(ctrl_out),save,dimension(6) :: o_uSTDlevs = (/ ctrl_out((/ 1, 7, 7, 10, 10 /),'u850'), & 260 ctrl_out((/ 1, 7, 7, 10, 10 /),'u700'), & 261 ctrl_out((/ 1, 7, 7, 10, 10 /),'u500'), & 262 ctrl_out((/ 1, 7, 7, 10, 10 /),'u200'), & 263 ctrl_out((/ 1, 7, 7, 10, 10 /),'u50'), & 264 ctrl_out((/ 1, 7, 7, 10, 10 /),'u10') /) 262 type(ctrl_out),save,dimension(7) :: o_uSTDlevs = (/ ctrl_out((/ 1, 7, 7, 10, 10, 10 /),'u850'), & 263 ctrl_out((/ 1, 7, 7, 10, 10, 10 /),'u700'), & 264 ctrl_out((/ 1, 7, 7, 10, 10, 10 /),'u500'), & 265 ctrl_out((/ 1, 7, 7, 10, 10, 10 /),'u200'), & 266 ctrl_out((/ 1, 7, 7, 10, 10, 10 /),'u100'), & 267 ctrl_out((/ 1, 7, 7, 10, 10, 10 /),'u50'), & 268 ctrl_out((/ 1, 7, 7, 10, 10, 10 /),'u10') /) 265 269 266 270 267 type(ctrl_out),save,dimension(6) :: o_vSTDlevs = (/ ctrl_out((/ 1, 7, 7, 10, 10 /),'v850'), & 268 ctrl_out((/ 1, 7, 7, 10, 10 /),'v700'), & 269 ctrl_out((/ 1, 7, 7, 10, 10 /),'v500'), & 270 ctrl_out((/ 1, 7, 7, 10, 10 /),'v200'), & 271 ctrl_out((/ 1, 7, 7, 10, 10 /),'v50'), & 272 ctrl_out((/ 1, 7, 7, 10, 10 /),'v10') /) 273 274 type(ctrl_out),save,dimension(6) :: o_wSTDlevs = (/ ctrl_out((/ 1, 7, 7, 10, 10 /),'w850'), & 275 ctrl_out((/ 1, 7, 7, 10, 10 /),'w700'), & 276 ctrl_out((/ 1, 7, 7, 10, 10 /),'w500'), & 277 ctrl_out((/ 1, 7, 7, 10, 10 /),'w200'), & 278 ctrl_out((/ 1, 7, 7, 10, 10 /),'w50'), & 279 ctrl_out((/ 1, 7, 7, 10, 10 /),'w10') /) 280 281 type(ctrl_out),save,dimension(6) :: o_tSTDlevs = (/ ctrl_out((/ 1, 7, 7, 10, 10 /),'t850'), & 282 ctrl_out((/ 1, 7, 7, 10, 10 /),'t700'), & 283 ctrl_out((/ 1, 7, 7, 10, 10 /),'t500'), & 284 ctrl_out((/ 1, 7, 7, 10, 10 /),'t200'), & 285 ctrl_out((/ 1, 7, 7, 10, 10 /),'t50'), & 286 ctrl_out((/ 1, 7, 7, 10, 10 /),'t10') /) 287 288 type(ctrl_out),save,dimension(6) :: o_qSTDlevs = (/ ctrl_out((/ 1, 7, 7, 10, 10 /),'q850'), & 289 ctrl_out((/ 1, 7, 7, 10, 10 /),'q700'), & 290 ctrl_out((/ 1, 7, 7, 10, 10 /),'q500'), & 291 ctrl_out((/ 1, 7, 7, 10, 10 /),'q200'), & 292 ctrl_out((/ 1, 7, 7, 10, 10 /),'q50'), & 293 ctrl_out((/ 1, 7, 7, 10, 10 /),'q10') /) 294 295 type(ctrl_out),save,dimension(6) :: o_zSTDlevs = (/ ctrl_out((/ 1, 7, 7, 10, 10 /),'z850'), & 296 ctrl_out((/ 1, 7, 7, 10, 10 /),'z700'), & 297 ctrl_out((/ 1, 7, 7, 10, 10 /),'z500'), & 298 ctrl_out((/ 1, 7, 7, 10, 10 /),'z200'), & 299 ctrl_out((/ 1, 7, 7, 10, 10 /),'z50'), & 300 ctrl_out((/ 1, 7, 7, 10, 10 /),'z10') /) 301 302 303 type(ctrl_out),save :: o_t_oce_sic = ctrl_out((/ 1, 10, 10, 10, 10 /),'t_oce_sic') 304 305 type(ctrl_out),save :: o_weakinv = ctrl_out((/ 10, 1, 10, 10, 10 /),'weakinv') 306 type(ctrl_out),save :: o_dthmin = ctrl_out((/ 10, 1, 10, 10, 10 /),'dthmin') 307 type(ctrl_out),save,dimension(4) :: o_u10_srf = (/ ctrl_out((/ 10, 4, 10, 10, 10 /),'u10_ter'), & 308 ctrl_out((/ 10, 4, 10, 10, 10 /),'u10_lic'), & 309 ctrl_out((/ 10, 4, 10, 10, 10 /),'u10_oce'), & 310 ctrl_out((/ 10, 4, 10, 10, 10 /),'u10_sic') /) 311 312 type(ctrl_out),save,dimension(4) :: o_v10_srf = (/ ctrl_out((/ 10, 4, 10, 10, 10 /),'v10_ter'), & 313 ctrl_out((/ 10, 4, 10, 10, 10 /),'v10_lic'), & 314 ctrl_out((/ 10, 4, 10, 10, 10 /),'v10_oce'), & 315 ctrl_out((/ 10, 4, 10, 10, 10 /),'v10_sic') /) 316 317 type(ctrl_out),save :: o_cldtau = ctrl_out((/ 10, 5, 10, 10, 10 /),'cldtau') 318 type(ctrl_out),save :: o_cldemi = ctrl_out((/ 10, 5, 10, 10, 10 /),'cldemi') 319 type(ctrl_out),save :: o_rh2m = ctrl_out((/ 5, 5, 10, 10, 10 /),'rh2m') 320 type(ctrl_out),save :: o_rh2m_min = ctrl_out((/ 10, 5, 10, 10, 10 /),'rh2m_min') 321 type(ctrl_out),save :: o_rh2m_max = ctrl_out((/ 10, 5, 10, 10, 10 /),'rh2m_max') 322 type(ctrl_out),save :: o_qsat2m = ctrl_out((/ 10, 5, 10, 10, 10 /),'qsat2m') 323 type(ctrl_out),save :: o_tpot = ctrl_out((/ 10, 5, 10, 10, 10 /),'tpot') 324 type(ctrl_out),save :: o_tpote = ctrl_out((/ 10, 5, 10, 10, 10 /),'tpote') 325 type(ctrl_out),save :: o_tke = ctrl_out((/ 4, 10, 10, 10, 10 /),'tke ') 326 type(ctrl_out),save :: o_tke_max = ctrl_out((/ 4, 10, 10, 10, 10 /),'tke_max') 327 328 type(ctrl_out),save,dimension(4) :: o_tke_srf = (/ ctrl_out((/ 10, 4, 10, 10, 10 /),'tke_ter'), & 329 ctrl_out((/ 10, 4, 10, 10, 10 /),'tke_lic'), & 330 ctrl_out((/ 10, 4, 10, 10, 10 /),'tke_oce'), & 331 ctrl_out((/ 10, 4, 10, 10, 10 /),'tke_sic') /) 332 333 type(ctrl_out),save,dimension(4) :: o_tke_max_srf = (/ ctrl_out((/ 10, 4, 10, 10, 10 /),'tke_max_ter'), & 334 ctrl_out((/ 10, 4, 10, 10, 10 /),'tke_max_lic'), & 335 ctrl_out((/ 10, 4, 10, 10, 10 /),'tke_max_oce'), & 336 ctrl_out((/ 10, 4, 10, 10, 10 /),'tke_max_sic') /) 337 338 type(ctrl_out),save :: o_kz = ctrl_out((/ 4, 10, 10, 10, 10 /),'kz') 339 type(ctrl_out),save :: o_kz_max = ctrl_out((/ 4, 10, 10, 10, 10 /),'kz_max') 340 type(ctrl_out),save :: o_SWnetOR = ctrl_out((/ 10, 10, 2, 10, 10 /),'SWnetOR') 341 type(ctrl_out),save :: o_SWdownOR = ctrl_out((/ 10, 10, 2, 10, 10 /),'SWdownOR') 342 type(ctrl_out),save :: o_LWdownOR = ctrl_out((/ 10, 10, 2, 10, 10 /),'LWdownOR') 343 344 type(ctrl_out),save :: o_snowl = ctrl_out((/ 10, 1, 10, 10, 10 /),'snowl') 345 type(ctrl_out),save :: o_cape_max = ctrl_out((/ 10, 1, 10, 10, 10 /),'cape_max') 346 type(ctrl_out),save :: o_solldown = ctrl_out((/ 10, 1, 10, 10, 10 /),'solldown') 347 348 type(ctrl_out),save :: o_dtsvdfo = ctrl_out((/ 10, 10, 10, 10, 10 /),'dtsvdfo') 349 type(ctrl_out),save :: o_dtsvdft = ctrl_out((/ 10, 10, 10, 10, 10 /),'dtsvdft') 350 type(ctrl_out),save :: o_dtsvdfg = ctrl_out((/ 10, 10, 10, 10, 10 /),'dtsvdfg') 351 type(ctrl_out),save :: o_dtsvdfi = ctrl_out((/ 10, 10, 10, 10, 10 /),'dtsvdfi') 352 type(ctrl_out),save :: o_rugs = ctrl_out((/ 10, 10, 10, 10, 10 /),'rugs') 353 354 type(ctrl_out),save :: o_topswad = ctrl_out((/ 2, 10, 10, 10, 10 /),'topswad') 355 type(ctrl_out),save :: o_topswai = ctrl_out((/ 2, 10, 10, 10, 10 /),'topswai') 356 type(ctrl_out),save :: o_solswad = ctrl_out((/ 2, 10, 10, 10, 10 /),'solswad') 357 type(ctrl_out),save :: o_solswai = ctrl_out((/ 2, 10, 10, 10, 10 /),'solswai') 358 359 type(ctrl_out),save,dimension(10) :: o_tausumaero = (/ ctrl_out((/ 2, 6, 10, 10, 10 /),'OD550_ASBCM'), & 360 ctrl_out((/ 2, 6, 10, 10, 10 /),'OD550_ASPOMM'), & 361 ctrl_out((/ 2, 6, 10, 10, 10 /),'OD550_ASSO4M'), & 362 ctrl_out((/ 2, 6, 10, 10, 10 /),'OD550_CSSO4M'), & 363 ctrl_out((/ 2, 6, 10, 10, 10 /),'OD550_SSSSM'), & 364 ctrl_out((/ 2, 6, 10, 10, 10 /),'OD550_ASSSM'), & 365 ctrl_out((/ 2, 6, 10, 10, 10 /),'OD550_CSSSM'), & 366 ctrl_out((/ 2, 6, 10, 10, 10 /),'OD550_CIDUSTM'), & 367 ctrl_out((/ 2, 6, 10, 10, 10 /),'OD550_AIBCM'), & 368 ctrl_out((/ 2, 6, 10, 10, 10 /),'OD550_AIPOMM') /) 369 370 type(ctrl_out),save :: o_od550aer = ctrl_out((/ 2, 6, 10, 10, 10 /),'od550aer') 371 type(ctrl_out),save :: o_od865aer = ctrl_out((/ 2, 6, 10, 10, 10 /),'od865aer') 372 type(ctrl_out),save :: o_absvisaer = ctrl_out((/ 2, 6, 10, 10, 10 /),'absvisaer') 373 type(ctrl_out),save :: o_od550lt1aer = ctrl_out((/ 2, 6, 10, 10, 10 /),'od550lt1aer') 374 375 type(ctrl_out),save :: o_sconcso4 = ctrl_out((/ 2, 6, 10, 10, 10 /),'sconcso4') 376 type(ctrl_out),save :: o_sconcoa = ctrl_out((/ 2, 6, 10, 10, 10 /),'sconcoa') 377 type(ctrl_out),save :: o_sconcbc = ctrl_out((/ 2, 6, 10, 10, 10 /),'sconcbc') 378 type(ctrl_out),save :: o_sconcss = ctrl_out((/ 2, 6, 10, 10, 10 /),'sconcss') 379 type(ctrl_out),save :: o_sconcdust = ctrl_out((/ 2, 6, 10, 10, 10 /),'sconcdust') 380 type(ctrl_out),save :: o_concso4 = ctrl_out((/ 2, 6, 10, 10, 10 /),'concso4') 381 type(ctrl_out),save :: o_concoa = ctrl_out((/ 2, 6, 10, 10, 10 /),'concoa') 382 type(ctrl_out),save :: o_concbc = ctrl_out((/ 2, 6, 10, 10, 10 /),'concbc') 383 type(ctrl_out),save :: o_concss = ctrl_out((/ 2, 6, 10, 10, 10 /),'concss') 384 type(ctrl_out),save :: o_concdust = ctrl_out((/ 2, 6, 10, 10, 10 /),'concdust') 385 type(ctrl_out),save :: o_loadso4 = ctrl_out((/ 2, 6, 10, 10, 10 /),'loadso4') 386 type(ctrl_out),save :: o_loadoa = ctrl_out((/ 2, 6, 10, 10, 10 /),'loadoa') 387 type(ctrl_out),save :: o_loadbc = ctrl_out((/ 2, 6, 10, 10, 10 /),'loadbc') 388 type(ctrl_out),save :: o_loadss = ctrl_out((/ 2, 6, 10, 10, 10 /),'loadss') 389 type(ctrl_out),save :: o_loaddust = ctrl_out((/ 2, 6, 10, 10, 10 /),'loaddust') 390 391 type(ctrl_out),save :: o_swtoaas_nat = ctrl_out((/ 4, 6, 10, 10, 10 /),'swtoaas_nat') 392 type(ctrl_out),save :: o_swsrfas_nat = ctrl_out((/ 4, 6, 10, 10, 10 /),'swsrfas_nat') 393 type(ctrl_out),save :: o_swtoacs_nat = ctrl_out((/ 4, 6, 10, 10, 10 /),'swtoacs_nat') 394 type(ctrl_out),save :: o_swsrfcs_nat = ctrl_out((/ 4, 6, 10, 10, 10 /),'swsrfcs_nat') 395 396 type(ctrl_out),save :: o_swtoaas_ant = ctrl_out((/ 4, 6, 10, 10, 10 /),'swtoaas_ant') 397 type(ctrl_out),save :: o_swsrfas_ant = ctrl_out((/ 4, 6, 10, 10, 10 /),'swsrfas_ant') 398 type(ctrl_out),save :: o_swtoacs_ant = ctrl_out((/ 4, 6, 10, 10, 10 /),'swtoacs_ant') 399 type(ctrl_out),save :: o_swsrfcs_ant = ctrl_out((/ 4, 6, 10, 10, 10 /),'swsrfcs_ant') 400 401 type(ctrl_out),save :: o_swtoacf_nat = ctrl_out((/ 4, 6, 10, 10, 10 /),'swtoacf_nat') 402 type(ctrl_out),save :: o_swsrfcf_nat = ctrl_out((/ 4, 6, 10, 10, 10 /),'swsrfcf_nat') 403 type(ctrl_out),save :: o_swtoacf_ant = ctrl_out((/ 4, 6, 10, 10, 10 /),'swtoacf_ant') 404 type(ctrl_out),save :: o_swsrfcf_ant = ctrl_out((/ 4, 6, 10, 10, 10 /),'swsrfcf_ant') 405 type(ctrl_out),save :: o_swtoacf_zero = ctrl_out((/ 4, 6, 10, 10, 10 /),'swtoacf_zero') 406 type(ctrl_out),save :: o_swsrfcf_zero = ctrl_out((/ 4, 6, 10, 10, 10 /),'swsrfcf_zero') 407 408 type(ctrl_out),save :: o_cldncl = ctrl_out((/ 2, 6, 10, 10, 10 /),'cldncl') 409 type(ctrl_out),save :: o_reffclwtop = ctrl_out((/ 2, 6, 10, 10, 10 /),'reffclwtop') 410 type(ctrl_out),save :: o_cldnvi = ctrl_out((/ 2, 6, 10, 10, 10 /),'cldnvi') 411 type(ctrl_out),save :: o_lcc = ctrl_out((/ 2, 6, 10, 10, 10 /),'lcc') 271 type(ctrl_out),save,dimension(7) :: o_vSTDlevs = (/ ctrl_out((/ 1, 7, 7, 10, 10, 10 /),'v850'), & 272 ctrl_out((/ 1, 7, 7, 10, 10, 10 /),'v700'), & 273 ctrl_out((/ 1, 7, 7, 10, 10, 10 /),'v500'), & 274 ctrl_out((/ 1, 7, 7, 10, 10, 10 /),'v200'), & 275 ctrl_out((/ 1, 7, 7, 10, 10, 10 /),'v100'), & 276 ctrl_out((/ 1, 7, 7, 10, 10, 10 /),'v50'), & 277 ctrl_out((/ 1, 7, 7, 10, 10, 10 /),'v10') /) 278 279 type(ctrl_out),save,dimension(7) :: o_wSTDlevs = (/ ctrl_out((/ 1, 7, 7, 10, 10, 10 /),'w850'), & 280 ctrl_out((/ 1, 7, 7, 10, 10, 10 /),'w700'), & 281 ctrl_out((/ 1, 7, 7, 10, 10, 10 /),'w500'), & 282 ctrl_out((/ 1, 7, 7, 10, 10, 10 /),'w200'), & 283 ctrl_out((/ 1, 7, 7, 10, 10, 10 /),'w100'), & 284 ctrl_out((/ 1, 7, 7, 10, 10, 10 /),'w50'), & 285 ctrl_out((/ 1, 7, 7, 10, 10, 10 /),'w10') /) 286 287 type(ctrl_out),save,dimension(7) :: o_tSTDlevs = (/ ctrl_out((/ 1, 7, 7, 10, 10, 10 /),'t850'), & 288 ctrl_out((/ 1, 7, 7, 10, 10, 10 /),'t700'), & 289 ctrl_out((/ 1, 7, 7, 10, 10, 10 /),'t500'), & 290 ctrl_out((/ 1, 7, 7, 10, 10, 10 /),'t200'), & 291 ctrl_out((/ 1, 7, 7, 10, 10, 10 /),'t100'), & 292 ctrl_out((/ 1, 7, 7, 10, 10, 10 /),'t50'), & 293 ctrl_out((/ 1, 7, 7, 10, 10, 10 /),'t10') /) 294 295 type(ctrl_out),save,dimension(7) :: o_qSTDlevs = (/ ctrl_out((/ 1, 7, 7, 10, 10, 10 /),'q850'), & 296 ctrl_out((/ 1, 7, 7, 10, 10, 10 /),'q700'), & 297 ctrl_out((/ 1, 7, 7, 10, 10, 10 /),'q500'), & 298 ctrl_out((/ 1, 7, 7, 10, 10, 10 /),'q200'), & 299 ctrl_out((/ 1, 7, 7, 10, 10, 10 /),'q100'), & 300 ctrl_out((/ 1, 7, 7, 10, 10, 10 /),'q50'), & 301 ctrl_out((/ 1, 7, 7, 10, 10, 10 /),'q10') /) 302 303 type(ctrl_out),save,dimension(7) :: o_zSTDlevs = (/ ctrl_out((/ 1, 7, 7, 10, 10, 10 /),'z850'), & 304 ctrl_out((/ 1, 7, 7, 10, 10, 10 /),'z700'), & 305 ctrl_out((/ 1, 7, 7, 10, 10, 10 /),'z500'), & 306 ctrl_out((/ 1, 7, 7, 10, 10, 10 /),'z200'), & 307 ctrl_out((/ 1, 7, 7, 10, 10, 10 /),'z100'), & 308 ctrl_out((/ 1, 7, 7, 10, 10, 10 /),'z50'), & 309 ctrl_out((/ 1, 7, 7, 10, 10, 10 /),'z10') /) 310 311 312 type(ctrl_out),save :: o_t_oce_sic = ctrl_out((/ 1, 10, 10, 10, 10, 10 /),'t_oce_sic') 313 314 type(ctrl_out),save :: o_weakinv = ctrl_out((/ 10, 1, 10, 10, 10, 10 /),'weakinv') 315 type(ctrl_out),save :: o_dthmin = ctrl_out((/ 10, 1, 10, 10, 10, 10 /),'dthmin') 316 type(ctrl_out),save,dimension(4) :: o_u10_srf = (/ ctrl_out((/ 10, 4, 10, 10, 10, 10 /),'u10_ter'), & 317 ctrl_out((/ 10, 4, 10, 10, 10, 10 /),'u10_lic'), & 318 ctrl_out((/ 10, 4, 10, 10, 10, 10 /),'u10_oce'), & 319 ctrl_out((/ 10, 4, 10, 10, 10, 10 /),'u10_sic') /) 320 321 type(ctrl_out),save,dimension(4) :: o_v10_srf = (/ ctrl_out((/ 10, 4, 10, 10, 10, 10 /),'v10_ter'), & 322 ctrl_out((/ 10, 4, 10, 10, 10, 10 /),'v10_lic'), & 323 ctrl_out((/ 10, 4, 10, 10, 10, 10 /),'v10_oce'), & 324 ctrl_out((/ 10, 4, 10, 10, 10, 10 /),'v10_sic') /) 325 326 type(ctrl_out),save :: o_cldtau = ctrl_out((/ 10, 5, 10, 10, 10, 10 /),'cldtau') 327 type(ctrl_out),save :: o_cldemi = ctrl_out((/ 10, 5, 10, 10, 10, 10 /),'cldemi') 328 type(ctrl_out),save :: o_rh2m = ctrl_out((/ 5, 5, 10, 10, 10, 10 /),'rh2m') 329 type(ctrl_out),save :: o_rh2m_min = ctrl_out((/ 10, 5, 10, 10, 10, 10 /),'rh2m_min') 330 type(ctrl_out),save :: o_rh2m_max = ctrl_out((/ 10, 5, 10, 10, 10, 10 /),'rh2m_max') 331 type(ctrl_out),save :: o_qsat2m = ctrl_out((/ 10, 5, 10, 10, 10, 10 /),'qsat2m') 332 type(ctrl_out),save :: o_tpot = ctrl_out((/ 10, 5, 10, 10, 10, 10 /),'tpot') 333 type(ctrl_out),save :: o_tpote = ctrl_out((/ 10, 5, 10, 10, 10, 10 /),'tpote') 334 type(ctrl_out),save :: o_tke = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'tke ') 335 type(ctrl_out),save :: o_tke_max = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'tke_max') 336 337 type(ctrl_out),save,dimension(4) :: o_tke_srf = (/ ctrl_out((/ 10, 4, 10, 10, 10, 10 /),'tke_ter'), & 338 ctrl_out((/ 10, 4, 10, 10, 10, 10 /),'tke_lic'), & 339 ctrl_out((/ 10, 4, 10, 10, 10, 10 /),'tke_oce'), & 340 ctrl_out((/ 10, 4, 10, 10, 10, 10 /),'tke_sic') /) 341 342 type(ctrl_out),save,dimension(4) :: o_tke_max_srf = (/ ctrl_out((/ 10, 4, 10, 10, 10, 10 /),'tke_max_ter'), & 343 ctrl_out((/ 10, 4, 10, 10, 10, 10 /),'tke_max_lic'), & 344 ctrl_out((/ 10, 4, 10, 10, 10, 10 /),'tke_max_oce'), & 345 ctrl_out((/ 10, 4, 10, 10, 10, 10 /),'tke_max_sic') /) 346 347 type(ctrl_out),save :: o_kz = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'kz') 348 type(ctrl_out),save :: o_kz_max = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'kz_max') 349 type(ctrl_out),save :: o_SWnetOR = ctrl_out((/ 10, 10, 2, 10, 10, 10 /),'SWnetOR') 350 type(ctrl_out),save :: o_SWdownOR = ctrl_out((/ 10, 10, 2, 10, 10, 10 /),'SWdownOR') 351 type(ctrl_out),save :: o_LWdownOR = ctrl_out((/ 10, 10, 2, 10, 10, 10 /),'LWdownOR') 352 353 type(ctrl_out),save :: o_snowl = ctrl_out((/ 10, 1, 10, 10, 10, 10 /),'snowl') 354 type(ctrl_out),save :: o_cape_max = ctrl_out((/ 10, 1, 10, 10, 10, 10 /),'cape_max') 355 type(ctrl_out),save :: o_solldown = ctrl_out((/ 10, 1, 10, 10, 10, 10 /),'solldown') 356 357 type(ctrl_out),save :: o_dtsvdfo = ctrl_out((/ 10, 10, 10, 10, 10, 10 /),'dtsvdfo') 358 type(ctrl_out),save :: o_dtsvdft = ctrl_out((/ 10, 10, 10, 10, 10, 10 /),'dtsvdft') 359 type(ctrl_out),save :: o_dtsvdfg = ctrl_out((/ 10, 10, 10, 10, 10, 10 /),'dtsvdfg') 360 type(ctrl_out),save :: o_dtsvdfi = ctrl_out((/ 10, 10, 10, 10, 10, 10 /),'dtsvdfi') 361 type(ctrl_out),save :: o_rugs = ctrl_out((/ 10, 10, 10, 10, 10, 10 /),'rugs') 362 363 type(ctrl_out),save :: o_topswad = ctrl_out((/ 2, 10, 10, 10, 10, 10 /),'topswad') 364 type(ctrl_out),save :: o_topswai = ctrl_out((/ 2, 10, 10, 10, 10, 10 /),'topswai') 365 type(ctrl_out),save :: o_solswad = ctrl_out((/ 2, 10, 10, 10, 10, 10 /),'solswad') 366 type(ctrl_out),save :: o_solswai = ctrl_out((/ 2, 10, 10, 10, 10, 10 /),'solswai') 367 368 type(ctrl_out),save,dimension(10) :: o_tausumaero = (/ ctrl_out((/ 2, 6, 10, 10, 10, 10 /),'OD550_ASBCM'), & 369 ctrl_out((/ 2, 6, 10, 10, 10, 10 /),'OD550_ASPOMM'), & 370 ctrl_out((/ 2, 6, 10, 10, 10, 10 /),'OD550_ASSO4M'), & 371 ctrl_out((/ 2, 6, 10, 10, 10, 10 /),'OD550_CSSO4M'), & 372 ctrl_out((/ 2, 6, 10, 10, 10, 10 /),'OD550_SSSSM'), & 373 ctrl_out((/ 2, 6, 10, 10, 10, 10 /),'OD550_ASSSM'), & 374 ctrl_out((/ 2, 6, 10, 10, 10, 10 /),'OD550_CSSSM'), & 375 ctrl_out((/ 2, 6, 10, 10, 10, 10 /),'OD550_CIDUSTM'), & 376 ctrl_out((/ 2, 6, 10, 10, 10, 10 /),'OD550_AIBCM'), & 377 ctrl_out((/ 2, 6, 10, 10, 10, 10 /),'OD550_AIPOMM') /) 378 379 type(ctrl_out),save :: o_od550aer = ctrl_out((/ 2, 6, 10, 10, 10, 10 /),'od550aer') 380 type(ctrl_out),save :: o_od865aer = ctrl_out((/ 2, 6, 10, 10, 10, 10 /),'od865aer') 381 type(ctrl_out),save :: o_absvisaer = ctrl_out((/ 2, 6, 10, 10, 10, 10 /),'absvisaer') 382 type(ctrl_out),save :: o_od550lt1aer = ctrl_out((/ 2, 6, 10, 10, 10, 10 /),'od550lt1aer') 383 384 type(ctrl_out),save :: o_sconcso4 = ctrl_out((/ 2, 6, 10, 10, 10, 10 /),'sconcso4') 385 type(ctrl_out),save :: o_sconcoa = ctrl_out((/ 2, 6, 10, 10, 10, 10 /),'sconcoa') 386 type(ctrl_out),save :: o_sconcbc = ctrl_out((/ 2, 6, 10, 10, 10, 10 /),'sconcbc') 387 type(ctrl_out),save :: o_sconcss = ctrl_out((/ 2, 6, 10, 10, 10, 10 /),'sconcss') 388 type(ctrl_out),save :: o_sconcdust = ctrl_out((/ 2, 6, 10, 10, 10, 10 /),'sconcdust') 389 type(ctrl_out),save :: o_concso4 = ctrl_out((/ 2, 6, 10, 10, 10, 10 /),'concso4') 390 type(ctrl_out),save :: o_concoa = ctrl_out((/ 2, 6, 10, 10, 10, 10 /),'concoa') 391 type(ctrl_out),save :: o_concbc = ctrl_out((/ 2, 6, 10, 10, 10, 10 /),'concbc') 392 type(ctrl_out),save :: o_concss = ctrl_out((/ 2, 6, 10, 10, 10, 10 /),'concss') 393 type(ctrl_out),save :: o_concdust = ctrl_out((/ 2, 6, 10, 10, 10, 10 /),'concdust') 394 type(ctrl_out),save :: o_loadso4 = ctrl_out((/ 2, 6, 10, 10, 10, 10 /),'loadso4') 395 type(ctrl_out),save :: o_loadoa = ctrl_out((/ 2, 6, 10, 10, 10, 10 /),'loadoa') 396 type(ctrl_out),save :: o_loadbc = ctrl_out((/ 2, 6, 10, 10, 10, 10 /),'loadbc') 397 type(ctrl_out),save :: o_loadss = ctrl_out((/ 2, 6, 10, 10, 10, 10 /),'loadss') 398 type(ctrl_out),save :: o_loaddust = ctrl_out((/ 2, 6, 10, 10, 10, 10 /),'loaddust') 399 400 type(ctrl_out),save :: o_swtoaas_nat = ctrl_out((/ 4, 6, 10, 10, 10, 10 /),'swtoaas_nat') 401 type(ctrl_out),save :: o_swsrfas_nat = ctrl_out((/ 4, 6, 10, 10, 10, 10 /),'swsrfas_nat') 402 type(ctrl_out),save :: o_swtoacs_nat = ctrl_out((/ 4, 6, 10, 10, 10, 10 /),'swtoacs_nat') 403 type(ctrl_out),save :: o_swsrfcs_nat = ctrl_out((/ 4, 6, 10, 10, 10, 10 /),'swsrfcs_nat') 404 405 type(ctrl_out),save :: o_swtoaas_ant = ctrl_out((/ 4, 6, 10, 10, 10, 10 /),'swtoaas_ant') 406 type(ctrl_out),save :: o_swsrfas_ant = ctrl_out((/ 4, 6, 10, 10, 10, 10 /),'swsrfas_ant') 407 type(ctrl_out),save :: o_swtoacs_ant = ctrl_out((/ 4, 6, 10, 10, 10, 10 /),'swtoacs_ant') 408 type(ctrl_out),save :: o_swsrfcs_ant = ctrl_out((/ 4, 6, 10, 10, 10, 10 /),'swsrfcs_ant') 409 410 type(ctrl_out),save :: o_swtoacf_nat = ctrl_out((/ 4, 6, 10, 10, 10, 10 /),'swtoacf_nat') 411 type(ctrl_out),save :: o_swsrfcf_nat = ctrl_out((/ 4, 6, 10, 10, 10, 10 /),'swsrfcf_nat') 412 type(ctrl_out),save :: o_swtoacf_ant = ctrl_out((/ 4, 6, 10, 10, 10, 10 /),'swtoacf_ant') 413 type(ctrl_out),save :: o_swsrfcf_ant = ctrl_out((/ 4, 6, 10, 10, 10, 10 /),'swsrfcf_ant') 414 type(ctrl_out),save :: o_swtoacf_zero = ctrl_out((/ 4, 6, 10, 10, 10, 10 /),'swtoacf_zero') 415 type(ctrl_out),save :: o_swsrfcf_zero = ctrl_out((/ 4, 6, 10, 10, 10, 10 /),'swsrfcf_zero') 416 417 type(ctrl_out),save :: o_cldncl = ctrl_out((/ 2, 6, 10, 10, 10, 10 /),'cldncl') 418 type(ctrl_out),save :: o_reffclwtop = ctrl_out((/ 2, 6, 10, 10, 10, 10 /),'reffclwtop') 419 type(ctrl_out),save :: o_cldnvi = ctrl_out((/ 2, 6, 10, 10, 10, 10 /),'cldnvi') 420 type(ctrl_out),save :: o_lcc = ctrl_out((/ 2, 6, 10, 10, 10, 10 /),'lcc') 412 421 413 422 414 423 !!!!!!!!!!!!!!!!!!!!!! 3D !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 415 type(ctrl_out),save :: o_ec550aer = ctrl_out((/ 2, 6, 10, 10, 10 /),'ec550aer') 416 type(ctrl_out),save :: o_lwcon = ctrl_out((/ 2, 5, 10, 10, 10 /),'lwcon') 417 type(ctrl_out),save :: o_iwcon = ctrl_out((/ 2, 5, 10, 10, 10 /),'iwcon') 418 type(ctrl_out),save :: o_temp = ctrl_out((/ 2, 3, 4, 10, 10 /),'temp') 419 type(ctrl_out),save :: o_theta = ctrl_out((/ 2, 3, 4, 10, 10 /),'theta') 420 type(ctrl_out),save :: o_ovap = ctrl_out((/ 2, 3, 4, 10, 10 /),'ovap') 421 type(ctrl_out),save :: o_ovapinit = ctrl_out((/ 2, 10, 10, 10, 10 /),'ovapinit') 422 type(ctrl_out),save :: o_wvapp = ctrl_out((/ 2, 10, 10, 10, 10 /),'wvapp') 423 type(ctrl_out),save :: o_geop = ctrl_out((/ 2, 3, 10, 10, 10 /),'geop') 424 type(ctrl_out),save :: o_vitu = ctrl_out((/ 2, 3, 4, 6, 10 /),'vitu') 425 type(ctrl_out),save :: o_vitv = ctrl_out((/ 2, 3, 4, 6, 10 /),'vitv') 426 type(ctrl_out),save :: o_vitw = ctrl_out((/ 2, 3, 10, 6, 10 /),'vitw') 427 type(ctrl_out),save :: o_pres = ctrl_out((/ 2, 3, 10, 10, 10 /),'pres') 428 type(ctrl_out),save :: o_paprs = ctrl_out((/ 2, 3, 10, 10, 10 /),'paprs') 429 type(ctrl_out),save :: o_rneb = ctrl_out((/ 2, 5, 10, 10, 10 /),'rneb') 430 type(ctrl_out),save :: o_rnebcon = ctrl_out((/ 2, 5, 10, 10, 10 /),'rnebcon') 431 type(ctrl_out),save :: o_rhum = ctrl_out((/ 2, 5, 10, 10, 10 /),'rhum') 432 type(ctrl_out),save :: o_ozone = ctrl_out((/ 2, 10, 10, 10, 10 /),'ozone') 433 type(ctrl_out),save :: o_ozone_light = ctrl_out((/ 2, 10, 10, 10, 10 /),'ozone_daylight') 434 type(ctrl_out),save :: o_upwd = ctrl_out((/ 2, 10, 10, 10, 10 /),'upwd') 435 type(ctrl_out),save :: o_dtphy = ctrl_out((/ 2, 10, 10, 10, 10 /),'dtphy') 436 type(ctrl_out),save :: o_dqphy = ctrl_out((/ 2, 10, 10, 10, 10 /),'dqphy') 437 type(ctrl_out),save :: o_pr_con_l = ctrl_out((/ 2, 10, 10, 10, 10 /),'pr_con_l') 438 type(ctrl_out),save :: o_pr_con_i = ctrl_out((/ 2, 10, 10, 10, 10 /),'pr_con_i') 439 type(ctrl_out),save :: o_pr_lsc_l = ctrl_out((/ 2, 10, 10, 10, 10 /),'pr_lsc_l') 440 type(ctrl_out),save :: o_pr_lsc_i = ctrl_out((/ 2, 10, 10, 10, 10 /),'pr_lsc_i') 441 type(ctrl_out),save :: o_re = ctrl_out((/ 5, 10, 10, 10, 10 /),'re') 442 type(ctrl_out),save :: o_fl = ctrl_out((/ 5, 10, 10, 10, 10 /),'fl') 443 type(ctrl_out),save :: o_scdnc = ctrl_out((/ 2, 6, 10, 10, 10 /),'scdnc') 444 type(ctrl_out),save :: o_reffclws = ctrl_out((/ 2, 6, 10, 10, 10 /),'reffclws') 445 type(ctrl_out),save :: o_reffclwc = ctrl_out((/ 2, 6, 10, 10, 10 /),'reffclwc') 446 type(ctrl_out),save :: o_lcc3d = ctrl_out((/ 2, 6, 10, 10, 10 /),'lcc3d') 447 type(ctrl_out),save :: o_lcc3dcon = ctrl_out((/ 2, 6, 10, 10, 10 /),'lcc3dcon') 448 type(ctrl_out),save :: o_lcc3dstra = ctrl_out((/ 2, 6, 10, 10, 10 /),'lcc3dstra') 424 type(ctrl_out),save :: o_ec550aer = ctrl_out((/ 2, 6, 10, 10, 10, 10 /),'ec550aer') 425 type(ctrl_out),save :: o_lwcon = ctrl_out((/ 2, 5, 10, 10, 10, 10 /),'lwcon') 426 type(ctrl_out),save :: o_iwcon = ctrl_out((/ 2, 5, 10, 10, 10, 10 /),'iwcon') 427 type(ctrl_out),save :: o_temp = ctrl_out((/ 2, 3, 4, 10, 10, 10 /),'temp') 428 type(ctrl_out),save :: o_theta = ctrl_out((/ 2, 3, 4, 10, 10, 10 /),'theta') 429 type(ctrl_out),save :: o_ovap = ctrl_out((/ 2, 3, 4, 10, 10, 10 /),'ovap') 430 type(ctrl_out),save :: o_ovapinit = ctrl_out((/ 2, 10, 10, 10, 10, 10 /),'ovapinit') 431 type(ctrl_out),save :: o_wvapp = ctrl_out((/ 2, 10, 10, 10, 10, 10 /),'wvapp') 432 type(ctrl_out),save :: o_geop = ctrl_out((/ 2, 3, 10, 10, 10, 10 /),'geop') 433 type(ctrl_out),save :: o_vitu = ctrl_out((/ 2, 3, 4, 6, 10, 10 /),'vitu') 434 type(ctrl_out),save :: o_vitv = ctrl_out((/ 2, 3, 4, 6, 10, 10 /),'vitv') 435 type(ctrl_out),save :: o_vitw = ctrl_out((/ 2, 3, 10, 6, 10, 10 /),'vitw') 436 type(ctrl_out),save :: o_pres = ctrl_out((/ 2, 3, 10, 10, 10, 10 /),'pres') 437 type(ctrl_out),save :: o_paprs = ctrl_out((/ 2, 3, 10, 10, 10, 10 /),'paprs') 438 type(ctrl_out),save :: o_zfull = ctrl_out((/ 2, 3, 10, 10, 10, 10 /),'zfull') 439 type(ctrl_out),save :: o_zhalf = ctrl_out((/ 2, 3, 10, 10, 10, 10 /),'zhalf') 440 type(ctrl_out),save :: o_rneb = ctrl_out((/ 2, 5, 10, 10, 10, 10 /),'rneb') 441 type(ctrl_out),save :: o_rnebcon = ctrl_out((/ 2, 5, 10, 10, 10, 10 /),'rnebcon') 442 type(ctrl_out),save :: o_rhum = ctrl_out((/ 2, 5, 10, 10, 10, 10 /),'rhum') 443 type(ctrl_out),save :: o_ozone = ctrl_out((/ 2, 10, 10, 10, 10, 10 /),'ozone') 444 type(ctrl_out),save :: o_ozone_light = ctrl_out((/ 2, 10, 10, 10, 10, 10 /),'ozone_daylight') 445 type(ctrl_out),save :: o_upwd = ctrl_out((/ 2, 10, 10, 10, 10, 10 /),'upwd') 446 type(ctrl_out),save :: o_dtphy = ctrl_out((/ 2, 10, 10, 10, 10, 10 /),'dtphy') 447 type(ctrl_out),save :: o_dqphy = ctrl_out((/ 2, 10, 10, 10, 10, 10 /),'dqphy') 448 type(ctrl_out),save :: o_pr_con_l = ctrl_out((/ 2, 10, 10, 10, 10, 10 /),'pr_con_l') 449 type(ctrl_out),save :: o_pr_con_i = ctrl_out((/ 2, 10, 10, 10, 10, 10 /),'pr_con_i') 450 type(ctrl_out),save :: o_pr_lsc_l = ctrl_out((/ 2, 10, 10, 10, 10, 10 /),'pr_lsc_l') 451 type(ctrl_out),save :: o_pr_lsc_i = ctrl_out((/ 2, 10, 10, 10, 10, 10 /),'pr_lsc_i') 452 type(ctrl_out),save :: o_re = ctrl_out((/ 5, 10, 10, 10, 10, 10 /),'re') 453 type(ctrl_out),save :: o_fl = ctrl_out((/ 5, 10, 10, 10, 10, 10 /),'fl') 454 type(ctrl_out),save :: o_scdnc = ctrl_out((/ 2, 6, 10, 10, 10, 10 /),'scdnc') 455 type(ctrl_out),save :: o_reffclws = ctrl_out((/ 2, 6, 10, 10, 10, 10 /),'reffclws') 456 type(ctrl_out),save :: o_reffclwc = ctrl_out((/ 2, 6, 10, 10, 10, 10 /),'reffclwc') 457 type(ctrl_out),save :: o_lcc3d = ctrl_out((/ 2, 6, 10, 10, 10, 10 /),'lcc3d') 458 type(ctrl_out),save :: o_lcc3dcon = ctrl_out((/ 2, 6, 10, 10, 10, 10 /),'lcc3dcon') 459 type(ctrl_out),save :: o_lcc3dstra = ctrl_out((/ 2, 6, 10, 10, 10, 10 /),'lcc3dstra') 449 460 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 450 461 451 type(ctrl_out),save,dimension(4) :: o_albe_srf = (/ ctrl_out((/ 3, 7, 10, 7, 10 /),'albe_ter'), & 452 ctrl_out((/ 3, 7, 10, 7, 10 /),'albe_lic'), & 453 ctrl_out((/ 3, 7, 10, 7, 10 /),'albe_oce'), & 454 ctrl_out((/ 3, 7, 10, 7, 10 /),'albe_sic') /) 455 456 type(ctrl_out),save,dimension(4) :: o_ages_srf = (/ ctrl_out((/ 10, 10, 10, 10, 10 /),'ages_ter'), & 457 ctrl_out((/ 3, 10, 10, 10, 10 /),'ages_lic'), & 458 ctrl_out((/ 10, 10, 10, 10, 10 /),'ages_oce'), & 459 ctrl_out((/ 3, 10, 10, 10, 10 /),'ages_sic') /) 460 461 type(ctrl_out),save,dimension(4) :: o_rugs_srf = (/ ctrl_out((/ 3, 6, 10, 10, 10 /),'rugs_ter'), & 462 ctrl_out((/ 3, 6, 10, 10, 10 /),'rugs_lic'), & 463 ctrl_out((/ 3, 6, 10, 10, 10 /),'rugs_oce'), & 464 ctrl_out((/ 3, 6, 10, 10, 10 /),'rugs_sic') /) 465 466 type(ctrl_out),save :: o_alb1 = ctrl_out((/ 3, 10, 10, 10, 10 /),'alb1') 467 type(ctrl_out),save :: o_alb2 = ctrl_out((/ 3, 10, 10, 10, 10 /),'alb2') 468 469 type(ctrl_out),save :: o_clwcon = ctrl_out((/ 4, 10, 10, 10, 10 /),'clwcon') 470 type(ctrl_out),save :: o_Ma = ctrl_out((/ 4, 10, 10, 10, 10 /),'Ma') 471 type(ctrl_out),save :: o_dnwd = ctrl_out((/ 4, 10, 10, 10, 10 /),'dnwd') 472 type(ctrl_out),save :: o_dnwd0 = ctrl_out((/ 4, 10, 10, 10, 10 /),'dnwd0') 473 type(ctrl_out),save :: o_mc = ctrl_out((/ 4, 5, 10, 10, 10 /),'mc') 474 type(ctrl_out),save :: o_ftime_con = ctrl_out((/ 4, 10, 10, 10, 10 /),'ftime_con') 475 type(ctrl_out),save :: o_dtdyn = ctrl_out((/ 4, 10, 10, 10, 10 /),'dtdyn') 476 type(ctrl_out),save :: o_dqdyn = ctrl_out((/ 4, 10, 10, 10, 10 /),'dqdyn') 477 type(ctrl_out),save :: o_dudyn = ctrl_out((/ 4, 10, 10, 10, 10 /),'dudyn') !AXC 478 type(ctrl_out),save :: o_dvdyn = ctrl_out((/ 4, 10, 10, 10, 10 /),'dvdyn') !AXC 479 type(ctrl_out),save :: o_dtcon = ctrl_out((/ 4, 10, 10, 10, 10 /),'dtcon') 480 type(ctrl_out),save :: o_ducon = ctrl_out((/ 4, 10, 10, 10, 10 /),'ducon') 481 type(ctrl_out),save :: o_dqcon = ctrl_out((/ 4, 10, 10, 10, 10 /),'dqcon') 482 type(ctrl_out),save :: o_dtwak = ctrl_out((/ 4, 5, 10, 10, 10 /),'dtwak') 483 type(ctrl_out),save :: o_dqwak = ctrl_out((/ 4, 5, 10, 10, 10 /),'dqwak') 484 type(ctrl_out),save :: o_wake_h = ctrl_out((/ 4, 5, 10, 10, 10 /),'wake_h') 485 type(ctrl_out),save :: o_wake_s = ctrl_out((/ 4, 5, 10, 10, 10 /),'wake_s') 486 type(ctrl_out),save :: o_wake_deltat = ctrl_out((/ 4, 5, 10, 10, 10 /),'wake_deltat') 487 type(ctrl_out),save :: o_wake_deltaq = ctrl_out((/ 4, 5, 10, 10, 10 /),'wake_deltaq') 488 type(ctrl_out),save :: o_wake_omg = ctrl_out((/ 4, 5, 10, 10, 10 /),'wake_omg') 489 type(ctrl_out),save :: o_Vprecip = ctrl_out((/ 10, 10, 10, 10, 10 /),'Vprecip') 490 type(ctrl_out),save :: o_ftd = ctrl_out((/ 4, 5, 10, 10, 10 /),'ftd') 491 type(ctrl_out),save :: o_fqd = ctrl_out((/ 4, 5, 10, 10, 10 /),'fqd') 492 type(ctrl_out),save :: o_dtlsc = ctrl_out((/ 4, 10, 10, 10, 10 /),'dtlsc') 493 type(ctrl_out),save :: o_dtlschr = ctrl_out((/ 4, 10, 10, 10, 10 /),'dtlschr') 494 type(ctrl_out),save :: o_dqlsc = ctrl_out((/ 4, 10, 10, 10, 10 /),'dqlsc') 495 type(ctrl_out),save :: o_dtvdf = ctrl_out((/ 4, 10, 10, 10, 10 /),'dtvdf') 496 type(ctrl_out),save :: o_dqvdf = ctrl_out((/ 4, 10, 10, 10, 10 /),'dqvdf') 497 type(ctrl_out),save :: o_dteva = ctrl_out((/ 4, 10, 10, 10, 10 /),'dteva') 498 type(ctrl_out),save :: o_dqeva = ctrl_out((/ 4, 10, 10, 10, 10 /),'dqeva') 499 type(ctrl_out),save :: o_ptconv = ctrl_out((/ 4, 10, 10, 10, 10 /),'ptconv') 500 type(ctrl_out),save :: o_ratqs = ctrl_out((/ 4, 10, 10, 10, 10 /),'ratqs') 501 type(ctrl_out),save :: o_dtthe = ctrl_out((/ 4, 10, 10, 10, 10 /),'dtthe') 502 type(ctrl_out),save :: o_f_th = ctrl_out((/ 4, 10, 10, 10, 10 /),'f_th') 503 type(ctrl_out),save :: o_e_th = ctrl_out((/ 4, 10, 10, 10, 10 /),'e_th') 504 type(ctrl_out),save :: o_w_th = ctrl_out((/ 4, 10, 10, 10, 10 /),'w_th') 505 type(ctrl_out),save :: o_lambda_th = ctrl_out((/ 10, 10, 10, 10, 10 /),'lambda_th') 506 type(ctrl_out),save :: o_ftime_th = ctrl_out((/ 4, 10, 10, 10, 10 /),'ftime_th') 507 type(ctrl_out),save :: o_q_th = ctrl_out((/ 4, 10, 10, 10, 10 /),'q_th') 508 type(ctrl_out),save :: o_a_th = ctrl_out((/ 4, 10, 10, 10, 10 /),'a_th') 509 type(ctrl_out),save :: o_d_th = ctrl_out((/ 4, 10, 10, 10, 10 /),'d_th') 510 type(ctrl_out),save :: o_f0_th = ctrl_out((/ 4, 10, 10, 10, 10 /),'f0_th') 511 type(ctrl_out),save :: o_zmax_th = ctrl_out((/ 4, 10, 10, 10, 10 /),'zmax_th') 512 type(ctrl_out),save :: o_dqthe = ctrl_out((/ 4, 10, 10, 10, 10 /),'dqthe') 513 type(ctrl_out),save :: o_dtajs = ctrl_out((/ 4, 10, 10, 10, 10 /),'dtajs') 514 type(ctrl_out),save :: o_dqajs = ctrl_out((/ 4, 10, 10, 10, 10 /),'dqajs') 515 type(ctrl_out),save :: o_dtswr = ctrl_out((/ 4, 10, 10, 10, 10 /),'dtswr') 516 type(ctrl_out),save :: o_dtsw0 = ctrl_out((/ 4, 10, 10, 10, 10 /),'dtsw0') 517 type(ctrl_out),save :: o_dtlwr = ctrl_out((/ 4, 10, 10, 10, 10 /),'dtlwr') 518 type(ctrl_out),save :: o_dtlw0 = ctrl_out((/ 4, 10, 10, 10, 10 /),'dtlw0') 519 type(ctrl_out),save :: o_dtec = ctrl_out((/ 4, 10, 10, 10, 10 /),'dtec') 520 type(ctrl_out),save :: o_duvdf = ctrl_out((/ 4, 10, 10, 10, 10 /),'duvdf') 521 type(ctrl_out),save :: o_dvvdf = ctrl_out((/ 4, 10, 10, 10, 10 /),'dvvdf') 522 type(ctrl_out),save :: o_duoro = ctrl_out((/ 4, 10, 10, 10, 10 /),'duoro') 523 type(ctrl_out),save :: o_dvoro = ctrl_out((/ 4, 10, 10, 10, 10 /),'dvoro') 524 type(ctrl_out),save :: o_dulif = ctrl_out((/ 4, 10, 10, 10, 10 /),'dulif') 525 type(ctrl_out),save :: o_dvlif = ctrl_out((/ 4, 10, 10, 10, 10 /),'dvlif') 526 type(ctrl_out),save :: o_duhin = ctrl_out((/ 4, 10, 10, 10, 10 /),'duhin') 527 type(ctrl_out),save :: o_dvhin = ctrl_out((/ 4, 10, 10, 10, 10 /),'dvhin') 462 type(ctrl_out),save,dimension(4) :: o_albe_srf = (/ ctrl_out((/ 3, 7, 10, 7, 10, 10 /),'albe_ter'), & 463 ctrl_out((/ 3, 7, 10, 7, 10, 10 /),'albe_lic'), & 464 ctrl_out((/ 3, 7, 10, 7, 10, 10 /),'albe_oce'), & 465 ctrl_out((/ 3, 7, 10, 7, 10, 10 /),'albe_sic') /) 466 467 type(ctrl_out),save,dimension(4) :: o_ages_srf = (/ ctrl_out((/ 10, 10, 10, 10, 10, 10 /),'ages_ter'), & 468 ctrl_out((/ 3, 10, 10, 10, 10, 10 /),'ages_lic'), & 469 ctrl_out((/ 10, 10, 10, 10, 10, 10 /),'ages_oce'), & 470 ctrl_out((/ 3, 10, 10, 10, 10, 10 /),'ages_sic') /) 471 472 type(ctrl_out),save,dimension(4) :: o_rugs_srf = (/ ctrl_out((/ 3, 6, 10, 10, 10, 10 /),'rugs_ter'), & 473 ctrl_out((/ 3, 6, 10, 10, 10, 10 /),'rugs_lic'), & 474 ctrl_out((/ 3, 6, 10, 10, 10, 10 /),'rugs_oce'), & 475 ctrl_out((/ 3, 6, 10, 10, 10, 10 /),'rugs_sic') /) 476 477 type(ctrl_out),save :: o_alb1 = ctrl_out((/ 3, 10, 10, 10, 10, 10 /),'alb1') 478 type(ctrl_out),save :: o_alb2 = ctrl_out((/ 3, 10, 10, 10, 10, 10 /),'alb2') 479 480 type(ctrl_out),save :: o_clwcon = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'clwcon') 481 type(ctrl_out),save :: o_Ma = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'Ma') 482 type(ctrl_out),save :: o_dnwd = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'dnwd') 483 type(ctrl_out),save :: o_dnwd0 = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'dnwd0') 484 type(ctrl_out),save :: o_mc = ctrl_out((/ 4, 5, 10, 10, 10, 10 /),'mc') 485 type(ctrl_out),save :: o_ftime_con = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'ftime_con') 486 type(ctrl_out),save :: o_dtdyn = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'dtdyn') 487 type(ctrl_out),save :: o_dqdyn = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'dqdyn') 488 type(ctrl_out),save :: o_dudyn = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'dudyn') !AXC 489 type(ctrl_out),save :: o_dvdyn = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'dvdyn') !AXC 490 type(ctrl_out),save :: o_dtcon = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'dtcon') 491 type(ctrl_out),save :: o_ducon = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'ducon') 492 type(ctrl_out),save :: o_dqcon = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'dqcon') 493 type(ctrl_out),save :: o_dtwak = ctrl_out((/ 4, 5, 10, 10, 10, 10 /),'dtwak') 494 type(ctrl_out),save :: o_dqwak = ctrl_out((/ 4, 5, 10, 10, 10, 10 /),'dqwak') 495 type(ctrl_out),save :: o_wake_h = ctrl_out((/ 4, 5, 10, 10, 10, 10 /),'wake_h') 496 type(ctrl_out),save :: o_wake_s = ctrl_out((/ 4, 5, 10, 10, 10, 10 /),'wake_s') 497 type(ctrl_out),save :: o_wake_deltat = ctrl_out((/ 4, 5, 10, 10, 10, 10 /),'wake_deltat') 498 type(ctrl_out),save :: o_wake_deltaq = ctrl_out((/ 4, 5, 10, 10, 10, 10 /),'wake_deltaq') 499 type(ctrl_out),save :: o_wake_omg = ctrl_out((/ 4, 5, 10, 10, 10, 10 /),'wake_omg') 500 type(ctrl_out),save :: o_Vprecip = ctrl_out((/ 10, 10, 10, 10, 10, 10 /),'Vprecip') 501 type(ctrl_out),save :: o_ftd = ctrl_out((/ 4, 5, 10, 10, 10, 10 /),'ftd') 502 type(ctrl_out),save :: o_fqd = ctrl_out((/ 4, 5, 10, 10, 10, 10 /),'fqd') 503 type(ctrl_out),save :: o_dtlsc = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'dtlsc') 504 type(ctrl_out),save :: o_dtlschr = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'dtlschr') 505 type(ctrl_out),save :: o_dqlsc = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'dqlsc') 506 type(ctrl_out),save :: o_dtvdf = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'dtvdf') 507 type(ctrl_out),save :: o_dqvdf = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'dqvdf') 508 type(ctrl_out),save :: o_dteva = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'dteva') 509 type(ctrl_out),save :: o_dqeva = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'dqeva') 510 type(ctrl_out),save :: o_ptconv = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'ptconv') 511 type(ctrl_out),save :: o_ratqs = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'ratqs') 512 type(ctrl_out),save :: o_dtthe = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'dtthe') 513 type(ctrl_out),save :: o_f_th = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'f_th') 514 type(ctrl_out),save :: o_e_th = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'e_th') 515 type(ctrl_out),save :: o_w_th = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'w_th') 516 type(ctrl_out),save :: o_lambda_th = ctrl_out((/ 10, 10, 10, 10, 10, 10 /),'lambda_th') 517 type(ctrl_out),save :: o_ftime_th = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'ftime_th') 518 type(ctrl_out),save :: o_q_th = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'q_th') 519 type(ctrl_out),save :: o_a_th = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'a_th') 520 type(ctrl_out),save :: o_d_th = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'d_th') 521 type(ctrl_out),save :: o_f0_th = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'f0_th') 522 type(ctrl_out),save :: o_zmax_th = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'zmax_th') 523 type(ctrl_out),save :: o_dqthe = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'dqthe') 524 type(ctrl_out),save :: o_dtajs = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'dtajs') 525 type(ctrl_out),save :: o_dqajs = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'dqajs') 526 type(ctrl_out),save :: o_dtswr = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'dtswr') 527 type(ctrl_out),save :: o_dtsw0 = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'dtsw0') 528 type(ctrl_out),save :: o_dtlwr = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'dtlwr') 529 type(ctrl_out),save :: o_dtlw0 = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'dtlw0') 530 type(ctrl_out),save :: o_dtec = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'dtec') 531 type(ctrl_out),save :: o_duvdf = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'duvdf') 532 type(ctrl_out),save :: o_dvvdf = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'dvvdf') 533 type(ctrl_out),save :: o_duoro = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'duoro') 534 type(ctrl_out),save :: o_dvoro = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'dvoro') 535 type(ctrl_out),save :: o_dulif = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'dulif') 536 type(ctrl_out),save :: o_dvlif = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'dvlif') 537 type(ctrl_out),save :: o_duhin = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'duhin') 538 type(ctrl_out),save :: o_dvhin = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'dvhin') 539 type(ctrl_out),save :: o_dtoro = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'dtoro') 540 type(ctrl_out),save :: o_dtlif = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'dtlif') 541 type(ctrl_out),save :: o_dthin = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'dthin') 528 542 529 543 ! Attention a refaire correctement 530 type(ctrl_out),save,dimension(2) :: o_trac = (/ ctrl_out((/ 4, 10, 10, 10, 10 /),'trac01'), & 531 ctrl_out((/ 4, 10, 10, 10, 10 /),'trac02') /) 544 type(ctrl_out),save,dimension(2) :: o_trac = (/ ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'trac01'), & 545 ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'trac02') /) 546 547 type(ctrl_out),save :: o_rsu = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'rsu') 548 type(ctrl_out),save :: o_rsd = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'rsd') 549 type(ctrl_out),save :: o_rlu = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'rlu') 550 type(ctrl_out),save :: o_rld = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'rld') 551 type(ctrl_out),save :: o_rsucs = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'rsucs') 552 type(ctrl_out),save :: o_rsdcs = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'rsdcs') 553 type(ctrl_out),save :: o_rlucs = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'rlucs') 554 type(ctrl_out),save :: o_rldcs = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'rldcs') 555 556 type(ctrl_out),save :: o_tnt = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'tnt') 557 type(ctrl_out),save :: o_tntc = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'tntc') 558 type(ctrl_out),save :: o_tntr = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'tntr') 559 type(ctrl_out),save :: o_tntscpbl = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'tntscpbl') 560 561 type(ctrl_out),save :: o_tnhus = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'tnhus') 562 type(ctrl_out),save :: o_tnhusc = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'tnhusc') 563 type(ctrl_out),save :: o_tnhusscpbl = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'tnhusscpbl') 564 565 type(ctrl_out),save :: o_evu = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'evu') 566 567 type(ctrl_out),save :: o_h2o = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'h2o') 568 569 type(ctrl_out),save :: o_mcd = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'mcd') 570 type(ctrl_out),save :: o_dmc = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'dmc') 571 type(ctrl_out),save :: o_ref_liq = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'ref_liq') 572 type(ctrl_out),save :: o_ref_ice = ctrl_out((/ 4, 10, 10, 10, 10, 10 /),'ref_ice') 573 574 type(ctrl_out),save :: o_rsut4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10 /),'rsut4co2') 575 type(ctrl_out),save :: o_rlut4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10 /),'rlut4co2') 576 type(ctrl_out),save :: o_rsutcs4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10 /),'rsutcs4co2') 577 type(ctrl_out),save :: o_rlutcs4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10 /),'rlutcs4co2') 578 579 type(ctrl_out),save :: o_rsu4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10 /),'rsu4co2') 580 type(ctrl_out),save :: o_rlu4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10 /),'rlu4co2') 581 type(ctrl_out),save :: o_rsucs4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10 /),'rsucs4co2') 582 type(ctrl_out),save :: o_rlucs4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10 /),'rlucs4co2') 583 type(ctrl_out),save :: o_rsd4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10 /),'rsd4co2') 584 type(ctrl_out),save :: o_rld4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10 /),'rld4co2') 585 type(ctrl_out),save :: o_rsdcs4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10 /),'rsdcs4co2') 586 type(ctrl_out),save :: o_rldcs4co2 = ctrl_out((/ 5, 10, 10, 10, 10, 10 /),'rldcs4co2') 587 588 532 589 CONTAINS 533 590 … … 537 594 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 538 595 539 SUBROUTINE phys_output_open(jjmp1,nlevSTD,clevSTD,nbteta, & 540 ctetaSTD,dtime, ok_veget, & 596 SUBROUTINE phys_output_open(rlon,rlat,pim,tabij,ipt,jpt,plon,plat, & 597 jjmp1,nlevSTD,clevSTD,nbteta, & 598 ctetaSTD, dtime, ok_veget, & 541 599 type_ocean, iflag_pbl,ok_mensuel,ok_journe, & 542 600 ok_hf,ok_instan,ok_LES,ok_ade,ok_aie, read_climoz, & 601 phys_out_filestations, & 543 602 new_aod, aerosol_couple) 544 545 603 546 604 USE iophy … … 558 616 include "thermcell.h" 559 617 include "comvert.h" 618 619 real,dimension(klon),intent(in) :: rlon 620 real,dimension(klon),intent(in) :: rlat 621 integer, intent(in) :: pim 622 INTEGER, DIMENSION(pim) :: tabij 623 INTEGER,dimension(pim), intent(in) :: ipt, jpt 624 REAL,dimension(pim), intent(in) :: plat, plon 625 REAL,dimension(pim,2) :: plat_bounds, plon_bounds 560 626 561 627 integer :: jjmp1 … … 593 659 integer, dimension(nfiles) :: phys_out_filelevels 594 660 CHARACTER(len=20), dimension(nfiles) :: type_ecri_files, phys_out_filetypes 595 character(len=20), dimension(nfiles) :: chtimestep = (/ 'DefFreq', 'DefFreq','DefFreq', 'DefFreq', 'DefFreq' /)661 character(len=20), dimension(nfiles) :: chtimestep = (/ 'DefFreq', 'DefFreq','DefFreq', 'DefFreq', 'DefFreq', 'DefFreq' /) 596 662 logical, dimension(nfiles) :: phys_out_filekeys 663 logical, dimension(nfiles) :: phys_out_filestations 597 664 598 665 !!!!!!!!!! stockage dans une region limitee pour chaque fichier !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 599 666 ! entre [phys_out_lonmin,phys_out_lonmax] et [phys_out_latmin,phys_out_latmax] 600 667 601 logical, dimension(nfiles), save :: phys_out_regfkey = (/ .false., .false., .false., .false., .false. /) 602 real, dimension(nfiles), save :: phys_out_lonmin = (/ -180., -180., -180., -180., -180. /) 603 real, dimension(nfiles), save :: phys_out_lonmax = (/ 180., 180., 180., 180., 180. /) 604 real, dimension(nfiles), save :: phys_out_latmin = (/ -90., -90., -90., -90., -90. /) 605 real, dimension(nfiles), save :: phys_out_latmax = (/ 90., 90., 90., 90., 90. /) 606 607 668 logical, dimension(nfiles), save :: phys_out_regfkey = (/ .false., .false., .false., .false., .false., .false. /) 669 real, dimension(nfiles), save :: phys_out_lonmin = (/ -180., -180., -180., -180., -180., -180. /) 670 real, dimension(nfiles), save :: phys_out_lonmax = (/ 180., 180., 180., 180., 180., 180. /) 671 real, dimension(nfiles), save :: phys_out_latmin = (/ -90., -90., -90., -90., -90., -90. /) 672 real, dimension(nfiles), save :: phys_out_latmax = (/ 90., 90., 90., 90., 90., 90. /) 608 673 609 674 ! 610 675 print*,'Debut phys_output_mod.F90' 611 676 ! Initialisations (Valeurs par defaut 612 levmax = (/ klev, klev, klev, klev, klev /)677 levmax = (/ klev, klev, klev, klev, klev, klev /) 613 678 614 679 phys_out_filenames(1) = 'histmth' … … 617 682 phys_out_filenames(4) = 'histins' 618 683 phys_out_filenames(5) = 'histLES' 684 phys_out_filenames(6) = 'histstn' 619 685 620 686 type_ecri(1) = 'ave(X)' … … 623 689 type_ecri(4) = 'inst(X)' 624 690 type_ecri(5) = 'ave(X)' 691 type_ecri(6) = 'inst(X)' 625 692 626 693 clef_files(1) = ok_mensuel … … 629 696 clef_files(4) = ok_instan 630 697 clef_files(5) = ok_LES 698 clef_files(6) = ok_instan 699 700 !sortir des fichiers "stations" si clef_stations(:)=.TRUE. 701 clef_stations(1) = .FALSE. 702 clef_stations(2) = .FALSE. 703 clef_stations(3) = .FALSE. 704 clef_stations(4) = .FALSE. 705 clef_stations(5) = .FALSE. 706 clef_stations(6) = .TRUE. 631 707 632 708 lev_files(1) = lev_histmth … … 635 711 lev_files(4) = lev_histins 636 712 lev_files(5) = lev_histLES 637 713 lev_files(6) = lev_histins 638 714 639 715 ecrit_files(1) = ecrit_mth … … 642 718 ecrit_files(4) = ecrit_ins 643 719 ecrit_files(5) = ecrit_LES 720 ecrit_files(6) = ecrit_ins 644 721 645 722 !! Lectures des parametres de sorties dans physiq.def … … 657 734 phys_out_filekeys(:)=clef_files(:) 658 735 call getin('phys_out_filekeys',clef_files) 736 phys_out_filestations(:)=clef_stations(:) 737 call getin('phys_out_filestations',clef_stations) 659 738 phys_out_filelevels(:)=lev_files(:) 660 739 call getin('phys_out_filelevels',lev_files) … … 672 751 print*,'phys_out_filetypes=',type_ecri 673 752 print*,'phys_out_filekeys=',clef_files 753 print*,'phys_out_filestations=',clef_stations 674 754 print*,'phys_out_filelevels=',lev_files 675 755 … … 743 823 itau_phy,zjulian,dtime,nhorim(iff),nid_files(iff)) 744 824 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 825 !IM fichiers stations 826 else if (clef_stations(iff)) THEN 827 828 print*,'phys_output_mod phys_out_filenames=',phys_out_filenames(iff) 829 830 call histbeg_phy_all(rlon,rlat,pim,tabij,ipt,jpt,plon,plat,plon_bounds,plat_bounds, & 831 phys_out_filenames(iff), & 832 itau_phy,zjulian,dtime,nhorim(iff),nid_files(iff)) 745 833 else 746 834 CALL histbeg_phy(phys_out_filenames(iff),itau_phy,zjulian,dtime,nhorim(iff),nid_files(iff)) 747 835 endif 748 749 CALL histvert(nid_files(iff), "presnivs", "Vertical levels", "Pa", &836 837 CALL histvert(nid_files(iff), "presnivs", "Vertical levels", "Pa", & 750 838 levmax(iff) - levmin(iff) + 1, & 751 839 presnivs(levmin(iff):levmax(iff)), nvertm(iff),"down") … … 776 864 ! 1,preff,nvertp0(iff)) 777 865 !!! Champs 1D !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 778 CALL histdef2d(iff,o_phis%flag,o_phis%name,"Surface geop.height", "m2/s2") 866 IF (.NOT.clef_stations(iff)) THEN 867 ! 868 !IM: there is no way to have one single value in a netcdf file 869 ! 779 870 type_ecri(1) = 'once' 780 871 type_ecri(2) = 'once' … … 782 873 type_ecri(4) = 'once' 783 874 type_ecri(5) = 'once' 784 CALL histdef2d(iff,o_aire%flag,o_aire%name,"Grid area", "-") 785 CALL histdef2d(iff,o_contfracATM%flag,o_contfracATM%name,"% sfce ter+lic", "-") 875 type_ecri(6) = 'once' 876 CALL histdef2d(iff,clef_stations(iff),o_aire%flag,o_aire%name,"Grid area", "-") 877 CALL histdef2d(iff,clef_stations(iff),o_contfracATM%flag,o_contfracATM%name,"% sfce ter+lic", "-") 878 ENDIF 786 879 type_ecri(:) = type_ecri_files(:) 787 880 788 881 !!! Champs 2D !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 789 CALL histdef2d(iff,o_contfracOR%flag,o_contfracOR%name,"% sfce terre OR", "-" ) 790 CALL histdef2d(iff,o_aireTER%flag,o_aireTER%name,"Grid area CONT", "-" ) 791 CALL histdef2d(iff,o_flat%flag,o_flat%name, "Latent heat flux", "W/m2") 792 CALL histdef2d(iff,o_slp%flag,o_slp%name, "Sea Level Pressure", "Pa" ) 793 CALL histdef2d(iff,o_tsol%flag,o_tsol%name, "Surface Temperature", "K") 794 CALL histdef2d(iff,o_t2m%flag,o_t2m%name, "Temperature 2m", "K" ) 882 CALL histdef2d(iff,clef_stations(iff),o_phis%flag,o_phis%name,"Surface geop.height", "m2/s2" ) 883 CALL histdef2d(iff,clef_stations(iff),o_contfracOR%flag,o_contfracOR%name,"% sfce terre OR", "-" ) 884 CALL histdef2d(iff,clef_stations(iff),o_aireTER%flag,o_aireTER%name,"Grid area CONT", "-" ) 885 CALL histdef2d(iff,clef_stations(iff),o_flat%flag,o_flat%name, "Latent heat flux", "W/m2") 886 CALL histdef2d(iff,clef_stations(iff),o_slp%flag,o_slp%name, "Sea Level Pressure", "Pa" ) 887 CALL histdef2d(iff,clef_stations(iff),o_tsol%flag,o_tsol%name, "Surface Temperature", "K") 888 CALL histdef2d(iff,clef_stations(iff),o_t2m%flag,o_t2m%name, "Temperature 2m", "K" ) 889 IF (.NOT.clef_stations(iff)) THEN 890 ! 891 !IM: there is no way to have one single value in a netcdf file 892 ! 795 893 type_ecri(1) = 't_min(X)' 796 894 type_ecri(2) = 't_min(X)' … … 798 896 type_ecri(4) = 't_min(X)' 799 897 type_ecri(5) = 't_min(X)' 800 CALL histdef2d(iff,o_t2m_min%flag,o_t2m_min%name, "Temp 2m min", "K" ) 898 type_ecri(6) = 't_min(X)' 899 CALL histdef2d(iff,clef_stations(iff),o_t2m_min%flag,o_t2m_min%name, "Temp 2m min", "K" ) 801 900 type_ecri(1) = 't_max(X)' 802 901 type_ecri(2) = 't_max(X)' … … 804 903 type_ecri(4) = 't_max(X)' 805 904 type_ecri(5) = 't_max(X)' 806 CALL histdef2d(iff,o_t2m_max%flag,o_t2m_max%name, "Temp 2m max", "K" ) 905 type_ecri(6) = 't_max(X)' 906 CALL histdef2d(iff,clef_stations(iff),o_t2m_max%flag,o_t2m_max%name, "Temp 2m max", "K" ) 907 ENDIF 807 908 type_ecri(:) = type_ecri_files(:) 808 CALL histdef2d(iff, o_wind10m%flag,o_wind10m%name, "10-m wind speed", "m/s")809 CALL histdef2d(iff, o_wind10max%flag,o_wind10max%name, "10m wind speed max", "m/s")810 CALL histdef2d(iff, o_sicf%flag,o_sicf%name, "Sea-ice fraction", "-" )811 CALL histdef2d(iff, o_q2m%flag,o_q2m%name, "Specific humidity 2m", "kg/kg")812 CALL histdef2d(iff, o_u10m%flag,o_u10m%name, "Vent zonal 10m", "m/s" )813 CALL histdef2d(iff, o_v10m%flag,o_v10m%name, "Vent meridien 10m", "m/s")814 CALL histdef2d(iff, o_psol%flag,o_psol%name, "Surface Pressure", "Pa" )815 CALL histdef2d(iff, o_qsurf%flag,o_qsurf%name, "Surface Air humidity", "kg/kg")909 CALL histdef2d(iff,clef_stations(iff),o_wind10m%flag,o_wind10m%name, "10-m wind speed", "m/s") 910 CALL histdef2d(iff,clef_stations(iff),o_wind10max%flag,o_wind10max%name, "10m wind speed max", "m/s") 911 CALL histdef2d(iff,clef_stations(iff),o_sicf%flag,o_sicf%name, "Sea-ice fraction", "-" ) 912 CALL histdef2d(iff,clef_stations(iff),o_q2m%flag,o_q2m%name, "Specific humidity 2m", "kg/kg") 913 CALL histdef2d(iff,clef_stations(iff),o_u10m%flag,o_u10m%name, "Vent zonal 10m", "m/s" ) 914 CALL histdef2d(iff,clef_stations(iff),o_v10m%flag,o_v10m%name, "Vent meridien 10m", "m/s") 915 CALL histdef2d(iff,clef_stations(iff),o_psol%flag,o_psol%name, "Surface Pressure", "Pa" ) 916 CALL histdef2d(iff,clef_stations(iff),o_qsurf%flag,o_qsurf%name, "Surface Air humidity", "kg/kg") 816 917 817 918 if (.not. ok_veget) then 818 CALL histdef2d(iff, o_qsol%flag,o_qsol%name, "Soil watter content", "mm" )919 CALL histdef2d(iff,clef_stations(iff),o_qsol%flag,o_qsol%name, "Soil watter content", "mm" ) 819 920 endif 820 921 821 CALL histdef2d(iff, o_ndayrain%flag,o_ndayrain%name, "Number of dayrain(liq+sol)", "-")822 CALL histdef2d(iff, o_precip%flag,o_precip%name, "Precip Totale liq+sol", "kg/(s*m2)" )823 CALL histdef2d(iff, o_plul%flag,o_plul%name, "Large-scale Precip.", "kg/(s*m2)")824 CALL histdef2d(iff, o_pluc%flag,o_pluc%name, "Convective Precip.", "kg/(s*m2)")825 CALL histdef2d(iff, o_snow%flag,o_snow%name, "Snow fall", "kg/(s*m2)" )826 CALL histdef2d(iff, o_msnow%flag,o_msnow%name, "Surface snow amount", "kg/m2" )827 CALL histdef2d(iff, o_fsnow%flag,o_fsnow%name, "Surface snow area fraction", "-" )828 CALL histdef2d(iff, o_evap%flag,o_evap%name, "Evaporat", "kg/(s*m2)" )829 CALL histdef2d(iff, o_tops%flag,o_tops%name, "Solar rad. at TOA", "W/m2")830 CALL histdef2d(iff, o_tops0%flag,o_tops0%name, "CS Solar rad. at TOA", "W/m2")831 CALL histdef2d(iff, o_topl%flag,o_topl%name, "IR rad. at TOA", "W/m2" )832 CALL histdef2d(iff, o_topl0%flag,o_topl0%name, "IR rad. at TOA", "W/m2")833 CALL histdef2d(iff, o_SWupTOA%flag,o_SWupTOA%name, "SWup at TOA", "W/m2")834 CALL histdef2d(iff, o_SWupTOAclr%flag,o_SWupTOAclr%name, "SWup clear sky at TOA", "W/m2")835 CALL histdef2d(iff, o_SWdnTOA%flag,o_SWdnTOA%name, "SWdn at TOA", "W/m2" )836 CALL histdef2d(iff, o_SWdnTOAclr%flag,o_SWdnTOAclr%name, "SWdn clear sky at TOA", "W/m2")837 CALL histdef2d(iff, o_nettop%flag,o_nettop%name, "Net dn radiatif flux at TOA", "W/m2")838 CALL histdef2d(iff, o_SWup200%flag,o_SWup200%name, "SWup at 200mb", "W/m2" )839 CALL histdef2d(iff, o_SWup200clr%flag,o_SWup200clr%name, "SWup clear sky at 200mb", "W/m2")840 CALL histdef2d(iff, o_SWdn200%flag,o_SWdn200%name, "SWdn at 200mb", "W/m2" )841 CALL histdef2d(iff, o_SWdn200clr%flag,o_SWdn200clr%name, "SWdn clear sky at 200mb", "W/m2")842 CALL histdef2d(iff, o_LWup200%flag,o_LWup200%name, "LWup at 200mb", "W/m2")843 CALL histdef2d(iff, o_LWup200clr%flag,o_LWup200clr%name, "LWup clear sky at 200mb", "W/m2")844 CALL histdef2d(iff, o_LWdn200%flag,o_LWdn200%name, "LWdn at 200mb", "W/m2")845 CALL histdef2d(iff, o_LWdn200clr%flag,o_LWdn200clr%name, "LWdn clear sky at 200mb", "W/m2")846 CALL histdef2d(iff, o_sols%flag,o_sols%name, "Solar rad. at surf.", "W/m2")847 CALL histdef2d(iff, o_sols0%flag,o_sols0%name, "Solar rad. at surf.", "W/m2")848 CALL histdef2d(iff, o_soll%flag,o_soll%name, "IR rad. at surface", "W/m2")849 CALL histdef2d(iff, o_radsol%flag,o_radsol%name, "Rayonnement au sol", "W/m2")850 CALL histdef2d(iff, o_soll0%flag,o_soll0%name, "IR rad. at surface", "W/m2")851 CALL histdef2d(iff, o_SWupSFC%flag,o_SWupSFC%name, "SWup at surface", "W/m2")852 CALL histdef2d(iff, o_SWupSFCclr%flag,o_SWupSFCclr%name, "SWup clear sky at surface", "W/m2")853 CALL histdef2d(iff, o_SWdnSFC%flag,o_SWdnSFC%name, "SWdn at surface", "W/m2")854 CALL histdef2d(iff, o_SWdnSFCclr%flag,o_SWdnSFCclr%name, "SWdn clear sky at surface", "W/m2")855 CALL histdef2d(iff, o_LWupSFC%flag,o_LWupSFC%name, "Upwd. IR rad. at surface", "W/m2")856 CALL histdef2d(iff, o_LWdnSFC%flag,o_LWdnSFC%name, "Down. IR rad. at surface", "W/m2")857 CALL histdef2d(iff, o_LWupSFCclr%flag,o_LWupSFCclr%name, "CS Upwd. IR rad. at surface", "W/m2")858 CALL histdef2d(iff, o_LWdnSFCclr%flag,o_LWdnSFCclr%name, "Down. CS IR rad. at surface", "W/m2")859 CALL histdef2d(iff, o_bils%flag,o_bils%name, "Surf. total heat flux", "W/m2")860 CALL histdef2d(iff, o_sens%flag,o_sens%name, "Sensible heat flux", "W/m2")861 CALL histdef2d(iff, o_fder%flag,o_fder%name, "Heat flux derivation", "W/m2")862 CALL histdef2d(iff, o_ffonte%flag,o_ffonte%name, "Thermal flux for snow melting", "W/m2")863 CALL histdef2d(iff, o_fqcalving%flag,o_fqcalving%name, "Ice Calving", "kg/m2/s")864 CALL histdef2d(iff, o_fqfonte%flag,o_fqfonte%name, "Land ice melt", "kg/m2/s")865 866 CALL histdef2d(iff, o_taux%flag,o_taux%name, "Zonal wind stress","Pa")867 CALL histdef2d(iff, o_tauy%flag,o_tauy%name, "Meridional wind stress","Pa")922 CALL histdef2d(iff,clef_stations(iff),o_ndayrain%flag,o_ndayrain%name, "Number of dayrain(liq+sol)", "-") 923 CALL histdef2d(iff,clef_stations(iff),o_precip%flag,o_precip%name, "Precip Totale liq+sol", "kg/(s*m2)" ) 924 CALL histdef2d(iff,clef_stations(iff),o_plul%flag,o_plul%name, "Large-scale Precip.", "kg/(s*m2)") 925 CALL histdef2d(iff,clef_stations(iff),o_pluc%flag,o_pluc%name, "Convective Precip.", "kg/(s*m2)") 926 CALL histdef2d(iff,clef_stations(iff),o_snow%flag,o_snow%name, "Snow fall", "kg/(s*m2)" ) 927 CALL histdef2d(iff,clef_stations(iff),o_msnow%flag,o_msnow%name, "Surface snow amount", "kg/m2" ) 928 CALL histdef2d(iff,clef_stations(iff),o_fsnow%flag,o_fsnow%name, "Surface snow area fraction", "-" ) 929 CALL histdef2d(iff,clef_stations(iff),o_evap%flag,o_evap%name, "Evaporat", "kg/(s*m2)" ) 930 CALL histdef2d(iff,clef_stations(iff),o_tops%flag,o_tops%name, "Solar rad. at TOA", "W/m2") 931 CALL histdef2d(iff,clef_stations(iff),o_tops0%flag,o_tops0%name, "CS Solar rad. at TOA", "W/m2") 932 CALL histdef2d(iff,clef_stations(iff),o_topl%flag,o_topl%name, "IR rad. at TOA", "W/m2" ) 933 CALL histdef2d(iff,clef_stations(iff),o_topl0%flag,o_topl0%name, "IR rad. at TOA", "W/m2") 934 CALL histdef2d(iff,clef_stations(iff),o_SWupTOA%flag,o_SWupTOA%name, "SWup at TOA", "W/m2") 935 CALL histdef2d(iff,clef_stations(iff),o_SWupTOAclr%flag,o_SWupTOAclr%name, "SWup clear sky at TOA", "W/m2") 936 CALL histdef2d(iff,clef_stations(iff),o_SWdnTOA%flag,o_SWdnTOA%name, "SWdn at TOA", "W/m2" ) 937 CALL histdef2d(iff,clef_stations(iff),o_SWdnTOAclr%flag,o_SWdnTOAclr%name, "SWdn clear sky at TOA", "W/m2") 938 CALL histdef2d(iff,clef_stations(iff),o_nettop%flag,o_nettop%name, "Net dn radiatif flux at TOA", "W/m2") 939 CALL histdef2d(iff,clef_stations(iff),o_SWup200%flag,o_SWup200%name, "SWup at 200mb", "W/m2" ) 940 CALL histdef2d(iff,clef_stations(iff),o_SWup200clr%flag,o_SWup200clr%name, "SWup clear sky at 200mb", "W/m2") 941 CALL histdef2d(iff,clef_stations(iff),o_SWdn200%flag,o_SWdn200%name, "SWdn at 200mb", "W/m2" ) 942 CALL histdef2d(iff,clef_stations(iff),o_SWdn200clr%flag,o_SWdn200clr%name, "SWdn clear sky at 200mb", "W/m2") 943 CALL histdef2d(iff,clef_stations(iff),o_LWup200%flag,o_LWup200%name, "LWup at 200mb", "W/m2") 944 CALL histdef2d(iff,clef_stations(iff),o_LWup200clr%flag,o_LWup200clr%name, "LWup clear sky at 200mb", "W/m2") 945 CALL histdef2d(iff,clef_stations(iff),o_LWdn200%flag,o_LWdn200%name, "LWdn at 200mb", "W/m2") 946 CALL histdef2d(iff,clef_stations(iff),o_LWdn200clr%flag,o_LWdn200clr%name, "LWdn clear sky at 200mb", "W/m2") 947 CALL histdef2d(iff,clef_stations(iff),o_sols%flag,o_sols%name, "Solar rad. at surf.", "W/m2") 948 CALL histdef2d(iff,clef_stations(iff),o_sols0%flag,o_sols0%name, "Solar rad. at surf.", "W/m2") 949 CALL histdef2d(iff,clef_stations(iff),o_soll%flag,o_soll%name, "IR rad. at surface", "W/m2") 950 CALL histdef2d(iff,clef_stations(iff),o_radsol%flag,o_radsol%name, "Rayonnement au sol", "W/m2") 951 CALL histdef2d(iff,clef_stations(iff),o_soll0%flag,o_soll0%name, "IR rad. at surface", "W/m2") 952 CALL histdef2d(iff,clef_stations(iff),o_SWupSFC%flag,o_SWupSFC%name, "SWup at surface", "W/m2") 953 CALL histdef2d(iff,clef_stations(iff),o_SWupSFCclr%flag,o_SWupSFCclr%name, "SWup clear sky at surface", "W/m2") 954 CALL histdef2d(iff,clef_stations(iff),o_SWdnSFC%flag,o_SWdnSFC%name, "SWdn at surface", "W/m2") 955 CALL histdef2d(iff,clef_stations(iff),o_SWdnSFCclr%flag,o_SWdnSFCclr%name, "SWdn clear sky at surface", "W/m2") 956 CALL histdef2d(iff,clef_stations(iff),o_LWupSFC%flag,o_LWupSFC%name, "Upwd. IR rad. at surface", "W/m2") 957 CALL histdef2d(iff,clef_stations(iff),o_LWdnSFC%flag,o_LWdnSFC%name, "Down. IR rad. at surface", "W/m2") 958 CALL histdef2d(iff,clef_stations(iff),o_LWupSFCclr%flag,o_LWupSFCclr%name, "CS Upwd. IR rad. at surface", "W/m2") 959 CALL histdef2d(iff,clef_stations(iff),o_LWdnSFCclr%flag,o_LWdnSFCclr%name, "Down. CS IR rad. at surface", "W/m2") 960 CALL histdef2d(iff,clef_stations(iff),o_bils%flag,o_bils%name, "Surf. total heat flux", "W/m2") 961 CALL histdef2d(iff,clef_stations(iff),o_sens%flag,o_sens%name, "Sensible heat flux", "W/m2") 962 CALL histdef2d(iff,clef_stations(iff),o_fder%flag,o_fder%name, "Heat flux derivation", "W/m2") 963 CALL histdef2d(iff,clef_stations(iff),o_ffonte%flag,o_ffonte%name, "Thermal flux for snow melting", "W/m2") 964 CALL histdef2d(iff,clef_stations(iff),o_fqcalving%flag,o_fqcalving%name, "Ice Calving", "kg/m2/s") 965 CALL histdef2d(iff,clef_stations(iff),o_fqfonte%flag,o_fqfonte%name, "Land ice melt", "kg/m2/s") 966 967 CALL histdef2d(iff,clef_stations(iff),o_taux%flag,o_taux%name, "Zonal wind stress","Pa") 968 CALL histdef2d(iff,clef_stations(iff),o_tauy%flag,o_tauy%name, "Meridional wind stress","Pa") 868 969 869 970 DO nsrf = 1, nbsrf 870 CALL histdef2d(iff,o_pourc_srf(nsrf)%flag,o_pourc_srf(nsrf)%name,"% "//clnsurf(nsrf),"%") 871 CALL histdef2d(iff,o_fract_srf(nsrf)%flag,o_fract_srf(nsrf)%name,"Fraction "//clnsurf(nsrf),"1") 872 CALL histdef2d(iff,o_taux_srf(nsrf)%flag,o_taux_srf(nsrf)%name,"Zonal wind stress"//clnsurf(nsrf),"Pa") 873 CALL histdef2d(iff,o_tauy_srf(nsrf)%flag,o_tauy_srf(nsrf)%name,"Meridional wind stress "//clnsurf(nsrf),"Pa") 874 CALL histdef2d(iff,o_tsol_srf(nsrf)%flag,o_tsol_srf(nsrf)%name,"Temperature "//clnsurf(nsrf),"K") 875 CALL histdef2d(iff,o_u10m_srf(nsrf)%flag,o_u10m_srf(nsrf)%name,"Vent Zonal 10m "//clnsurf(nsrf),"m/s") 876 CALL histdef2d(iff,o_evap_srf(nsrf)%flag,o_evap_srf(nsrf)%name,"evaporation at surface "//clnsurf(nsrf),"kg/(s*m2)") 877 CALL histdef2d(iff,o_v10m_srf(nsrf)%flag,o_v10m_srf(nsrf)%name,"Vent meredien 10m "//clnsurf(nsrf),"m/s") 878 CALL histdef2d(iff,o_t2m_srf(nsrf)%flag,o_t2m_srf(nsrf)%name,"Temp 2m "//clnsurf(nsrf),"K") 879 CALL histdef2d(iff,o_sens_srf(nsrf)%flag,o_sens_srf(nsrf)%name,"Sensible heat flux "//clnsurf(nsrf),"W/m2") 880 CALL histdef2d(iff,o_lat_srf(nsrf)%flag,o_lat_srf(nsrf)%name,"Latent heat flux "//clnsurf(nsrf),"W/m2") 881 CALL histdef2d(iff,o_flw_srf(nsrf)%flag,o_flw_srf(nsrf)%name,"LW "//clnsurf(nsrf),"W/m2") 882 CALL histdef2d(iff,o_fsw_srf(nsrf)%flag,o_fsw_srf(nsrf)%name,"SW "//clnsurf(nsrf),"W/m2") 883 CALL histdef2d(iff,o_wbils_srf(nsrf)%flag,o_wbils_srf(nsrf)%name,"Bilan sol "//clnsurf(nsrf),"W/m2" ) 884 CALL histdef2d(iff,o_wbilo_srf(nsrf)%flag,o_wbilo_srf(nsrf)%name,"Bilan eau "//clnsurf(nsrf),"kg/(m2*s)") 971 CALL histdef2d(iff,clef_stations(iff),o_pourc_srf(nsrf)%flag,o_pourc_srf(nsrf)%name,"% "//clnsurf(nsrf),"%") 972 CALL histdef2d(iff,clef_stations(iff),o_fract_srf(nsrf)%flag,o_fract_srf(nsrf)%name,"Fraction "//clnsurf(nsrf),"1") 973 CALL histdef2d(iff,clef_stations(iff), & 974 o_taux_srf(nsrf)%flag,o_taux_srf(nsrf)%name,"Zonal wind stress"//clnsurf(nsrf),"Pa") 975 CALL histdef2d(iff,clef_stations(iff), & 976 o_tauy_srf(nsrf)%flag,o_tauy_srf(nsrf)%name,"Meridional wind stress "//clnsurf(nsrf),"Pa") 977 CALL histdef2d(iff,clef_stations(iff), & 978 o_tsol_srf(nsrf)%flag,o_tsol_srf(nsrf)%name,"Temperature "//clnsurf(nsrf),"K") 979 CALL histdef2d(iff,clef_stations(iff), & 980 o_u10m_srf(nsrf)%flag,o_u10m_srf(nsrf)%name,"Vent Zonal 10m "//clnsurf(nsrf),"m/s") 981 CALL histdef2d(iff,clef_stations(iff), & 982 o_evap_srf(nsrf)%flag,o_evap_srf(nsrf)%name,"evaporation at surface "//clnsurf(nsrf),"kg/(s*m2)") 983 CALL histdef2d(iff,clef_stations(iff), & 984 o_v10m_srf(nsrf)%flag,o_v10m_srf(nsrf)%name,"Vent meredien 10m "//clnsurf(nsrf),"m/s") 985 CALL histdef2d(iff,clef_stations(iff), & 986 o_t2m_srf(nsrf)%flag,o_t2m_srf(nsrf)%name,"Temp 2m "//clnsurf(nsrf),"K") 987 CALL histdef2d(iff,clef_stations(iff), & 988 o_sens_srf(nsrf)%flag,o_sens_srf(nsrf)%name,"Sensible heat flux "//clnsurf(nsrf),"W/m2") 989 CALL histdef2d(iff,clef_stations(iff), & 990 o_lat_srf(nsrf)%flag,o_lat_srf(nsrf)%name,"Latent heat flux "//clnsurf(nsrf),"W/m2") 991 CALL histdef2d(iff,clef_stations(iff), & 992 o_flw_srf(nsrf)%flag,o_flw_srf(nsrf)%name,"LW "//clnsurf(nsrf),"W/m2") 993 CALL histdef2d(iff,clef_stations(iff), & 994 o_fsw_srf(nsrf)%flag,o_fsw_srf(nsrf)%name,"SW "//clnsurf(nsrf),"W/m2") 995 CALL histdef2d(iff,clef_stations(iff), & 996 o_wbils_srf(nsrf)%flag,o_wbils_srf(nsrf)%name,"Bilan sol "//clnsurf(nsrf),"W/m2" ) 997 CALL histdef2d(iff,clef_stations(iff), & 998 o_wbilo_srf(nsrf)%flag,o_wbilo_srf(nsrf)%name,"Bilan eau "//clnsurf(nsrf),"kg/(m2*s)") 885 999 if (iflag_pbl>1 .and. lev_files(iff).gt.10 ) then 886 CALL histdef2d(iff,o_tke_srf(nsrf)%flag,o_tke_srf(nsrf)%name,"Max Turb. Kinetic Energy "//clnsurf(nsrf),"-") 1000 CALL histdef2d(iff,clef_stations(iff), & 1001 o_tke_srf(nsrf)%flag,o_tke_srf(nsrf)%name,"Max Turb. Kinetic Energy "//clnsurf(nsrf),"-") 1002 1003 IF (.NOT.clef_stations(iff)) THEN 1004 ! 1005 !IM: there is no way to have one single value in a netcdf file 1006 ! 887 1007 type_ecri(1) = 't_max(X)' 888 1008 type_ecri(2) = 't_max(X)' … … 890 1010 type_ecri(4) = 't_max(X)' 891 1011 type_ecri(5) = 't_max(X)' 892 CALL histdef2d(iff,o_tke_max_srf(nsrf)%flag,o_tke_max_srf(nsrf)%name,"Max Turb. Kinetic Energy "//clnsurf(nsrf),"-") 1012 type_ecri(6) = 't_max(X)' 1013 CALL histdef2d(iff,clef_stations(iff), & 1014 o_tke_max_srf(nsrf)%flag,o_tke_max_srf(nsrf)%name,"Max Turb. Kinetic Energy "//clnsurf(nsrf),"-") 893 1015 type_ecri(:) = type_ecri_files(:) 1016 ENDIF 1017 894 1018 endif 895 CALL histdef2d(iff,o_albe_srf(nsrf)%flag,o_albe_srf(nsrf)%name,"Albedo VIS surf. "//clnsurf(nsrf),"-") 896 CALL histdef2d(iff,o_rugs_srf(nsrf)%flag,o_rugs_srf(nsrf)%name,"Surface roughness "//clnsurf(nsrf),"m") 897 CALL histdef2d(iff,o_ages_srf(nsrf)%flag,o_ages_srf(nsrf)%name,"Snow age", "day") 1019 1020 CALL histdef2d(iff,clef_stations(iff), & 1021 o_albe_srf(nsrf)%flag,o_albe_srf(nsrf)%name,"Albedo VIS surf. "//clnsurf(nsrf),"-") 1022 CALL histdef2d(iff,clef_stations(iff), & 1023 o_rugs_srf(nsrf)%flag,o_rugs_srf(nsrf)%name,"Surface roughness "//clnsurf(nsrf),"m") 1024 CALL histdef2d(iff,clef_stations(iff), & 1025 o_ages_srf(nsrf)%flag,o_ages_srf(nsrf)%name,"Snow age", "day") 898 1026 END DO 899 1027 … … 901 1029 IF (ok_ade.OR.ok_aie) THEN 902 1030 903 CALL histdef2d(iff,o_od550aer%flag,o_od550aer%name, "Total aerosol optical depth at 550nm", "-") 904 CALL histdef2d(iff,o_od865aer%flag,o_od865aer%name, "Total aerosol optical depth at 870nm", "-") 905 CALL histdef2d(iff,o_absvisaer%flag,o_absvisaer%name, "Absorption aerosol visible optical depth", "-") 906 CALL histdef2d(iff,o_od550lt1aer%flag,o_od550lt1aer%name, "Fine mode optical depth", "-") 907 908 909 CALL histdef2d(iff,o_sconcso4%flag,o_sconcso4%name,"Surface Concentration of Sulfate ","kg/m3") 910 CALL histdef2d(iff,o_sconcoa%flag,o_sconcoa%name,"Surface Concentration of Organic Aerosol ","kg/m3") 911 CALL histdef2d(iff,o_sconcbc%flag,o_sconcbc%name,"Surface Concentration of Black Carbon ","kg/m3") 912 CALL histdef2d(iff,o_sconcss%flag,o_sconcss%name,"Surface Concentration of Sea Salt ","kg/m3") 913 CALL histdef2d(iff,o_sconcdust%flag,o_sconcdust%name,"Surface Concentration of Dust ","kg/m3") 914 CALL histdef3d(iff,o_concso4%flag,o_concso4%name,"Concentration of Sulfate ","kg/m3") 915 CALL histdef3d(iff,o_concoa%flag,o_concoa%name,"Concentration of Organic Aerosol ","kg/m3") 916 CALL histdef3d(iff,o_concbc%flag,o_concbc%name,"Concentration of Black Carbon ","kg/m3") 917 CALL histdef3d(iff,o_concss%flag,o_concss%name,"Concentration of Sea Salt ","kg/m3") 918 CALL histdef3d(iff,o_concdust%flag,o_concdust%name,"Concentration of Dust ","kg/m3") 919 CALL histdef2d(iff,o_loadso4%flag,o_loadso4%name,"Column Load of Sulfate ","kg/m2") 920 CALL histdef2d(iff,o_loadoa%flag,o_loadoa%name,"Column Load of Organic Aerosol ","kg/m2") 921 CALL histdef2d(iff,o_loadbc%flag,o_loadbc%name,"Column Load of Black Carbon ","kg/m2") 922 CALL histdef2d(iff,o_loadss%flag,o_loadss%name,"Column Load of Sea Salt ","kg/m2") 923 CALL histdef2d(iff,o_loaddust%flag,o_loaddust%name,"Column Load of Dust ","kg/m2") 1031 CALL histdef2d(iff,clef_stations(iff), & 1032 o_od550aer%flag,o_od550aer%name, "Total aerosol optical depth at 550nm", "-") 1033 CALL histdef2d(iff,clef_stations(iff), & 1034 o_od865aer%flag,o_od865aer%name, "Total aerosol optical depth at 870nm", "-") 1035 CALL histdef2d(iff,clef_stations(iff), & 1036 o_absvisaer%flag,o_absvisaer%name, "Absorption aerosol visible optical depth", "-") 1037 CALL histdef2d(iff,clef_stations(iff), & 1038 o_od550lt1aer%flag,o_od550lt1aer%name, "Fine mode optical depth", "-") 1039 1040 1041 CALL histdef2d(iff,clef_stations(iff), & 1042 o_sconcso4%flag,o_sconcso4%name,"Surface Concentration of Sulfate ","kg/m3") 1043 CALL histdef2d(iff,clef_stations(iff), & 1044 o_sconcoa%flag,o_sconcoa%name,"Surface Concentration of Organic Aerosol ","kg/m3") 1045 CALL histdef2d(iff,clef_stations(iff), & 1046 o_sconcbc%flag,o_sconcbc%name,"Surface Concentration of Black Carbon ","kg/m3") 1047 CALL histdef2d(iff,clef_stations(iff), & 1048 o_sconcss%flag,o_sconcss%name,"Surface Concentration of Sea Salt ","kg/m3") 1049 CALL histdef2d(iff,clef_stations(iff), & 1050 o_sconcdust%flag,o_sconcdust%name,"Surface Concentration of Dust ","kg/m3") 1051 CALL histdef3d(iff,clef_stations(iff), & 1052 o_concso4%flag,o_concso4%name,"Concentration of Sulfate ","kg/m3") 1053 CALL histdef3d(iff,clef_stations(iff), & 1054 o_concoa%flag,o_concoa%name,"Concentration of Organic Aerosol ","kg/m3") 1055 CALL histdef3d(iff,clef_stations(iff), & 1056 o_concbc%flag,o_concbc%name,"Concentration of Black Carbon ","kg/m3") 1057 CALL histdef3d(iff,clef_stations(iff), & 1058 o_concss%flag,o_concss%name,"Concentration of Sea Salt ","kg/m3") 1059 CALL histdef3d(iff,clef_stations(iff), & 1060 o_concdust%flag,o_concdust%name,"Concentration of Dust ","kg/m3") 1061 CALL histdef2d(iff,clef_stations(iff), & 1062 o_loadso4%flag,o_loadso4%name,"Column Load of Sulfate ","kg/m2") 1063 CALL histdef2d(iff,clef_stations(iff), & 1064 o_loadoa%flag,o_loadoa%name,"Column Load of Organic Aerosol ","kg/m2") 1065 CALL histdef2d(iff,clef_stations(iff), & 1066 o_loadbc%flag,o_loadbc%name,"Column Load of Black Carbon ","kg/m2") 1067 CALL histdef2d(iff,clef_stations(iff), & 1068 o_loadss%flag,o_loadss%name,"Column Load of Sea Salt ","kg/m2") 1069 CALL histdef2d(iff,clef_stations(iff), & 1070 o_loaddust%flag,o_loaddust%name,"Column Load of Dust ","kg/m2") 924 1071 925 1072 DO naero = 1, naero_spc 926 CALL histdef2d(iff,o_tausumaero(naero)%flag,o_tausumaero(naero)%name,"Aerosol Optical depth at 550 nm "//name_aero(naero),"1") 1073 CALL histdef2d(iff,clef_stations(iff), & 1074 o_tausumaero(naero)%flag,o_tausumaero(naero)%name,"Aerosol Optical depth at 550 nm "//name_aero(naero),"1") 927 1075 END DO 928 1076 ENDIF … … 930 1078 931 1079 IF (ok_ade) THEN 932 CALL histdef2d(iff,o_topswad%flag,o_topswad%name, "ADE at TOA", "W/m2") 933 CALL histdef2d(iff,o_solswad%flag,o_solswad%name, "ADE at SRF", "W/m2") 934 935 CALL histdef2d(iff,o_swtoaas_nat%flag,o_swtoaas_nat%name, "Natural aerosol radiative forcing all-sky at TOA", "W/m2") 936 CALL histdef2d(iff,o_swsrfas_nat%flag,o_swsrfas_nat%name, "Natural aerosol radiative forcing all-sky at SRF", "W/m2") 937 CALL histdef2d(iff,o_swtoacs_nat%flag,o_swtoacs_nat%name, "Natural aerosol radiative forcing clear-sky at TOA", "W/m2") 938 CALL histdef2d(iff,o_swsrfcs_nat%flag,o_swsrfcs_nat%name, "Natural aerosol radiative forcing clear-sky at SRF", "W/m2") 939 940 CALL histdef2d(iff,o_swtoaas_ant%flag,o_swtoaas_ant%name, "Anthropogenic aerosol radiative forcing all-sky at TOA", "W/m2") 941 CALL histdef2d(iff,o_swsrfas_ant%flag,o_swsrfas_ant%name, "Anthropogenic aerosol radiative forcing all-sky at SRF", "W/m2") 942 CALL histdef2d(iff,o_swtoacs_ant%flag,o_swtoacs_ant%name, "Anthropogenic aerosol radiative forcing clear-sky at TOA", "W/m2") 943 CALL histdef2d(iff,o_swsrfcs_ant%flag,o_swsrfcs_ant%name, "Anthropogenic aerosol radiative forcing clear-sky at SRF", "W/m2") 1080 CALL histdef2d(iff,clef_stations(iff), & 1081 o_topswad%flag,o_topswad%name, "ADE at TOA", "W/m2") 1082 CALL histdef2d(iff,clef_stations(iff), & 1083 o_solswad%flag,o_solswad%name, "ADE at SRF", "W/m2") 1084 1085 CALL histdef2d(iff,clef_stations(iff), & 1086 o_swtoaas_nat%flag,o_swtoaas_nat%name, "Natural aerosol radiative forcing all-sky at TOA", "W/m2") 1087 CALL histdef2d(iff,clef_stations(iff), & 1088 o_swsrfas_nat%flag,o_swsrfas_nat%name, "Natural aerosol radiative forcing all-sky at SRF", "W/m2") 1089 CALL histdef2d(iff,clef_stations(iff), & 1090 o_swtoacs_nat%flag,o_swtoacs_nat%name, "Natural aerosol radiative forcing clear-sky at TOA", "W/m2") 1091 CALL histdef2d(iff,clef_stations(iff), & 1092 o_swsrfcs_nat%flag,o_swsrfcs_nat%name, "Natural aerosol radiative forcing clear-sky at SRF", "W/m2") 1093 1094 CALL histdef2d(iff,clef_stations(iff), & 1095 o_swtoaas_ant%flag,o_swtoaas_ant%name, "Anthropogenic aerosol radiative forcing all-sky at TOA", "W/m2") 1096 CALL histdef2d(iff,clef_stations(iff), & 1097 o_swsrfas_ant%flag,o_swsrfas_ant%name, "Anthropogenic aerosol radiative forcing all-sky at SRF", "W/m2") 1098 CALL histdef2d(iff,clef_stations(iff), & 1099 o_swtoacs_ant%flag,o_swtoacs_ant%name, "Anthropogenic aerosol radiative forcing clear-sky at TOA", "W/m2") 1100 CALL histdef2d(iff,clef_stations(iff), & 1101 o_swsrfcs_ant%flag,o_swsrfcs_ant%name, "Anthropogenic aerosol radiative forcing clear-sky at SRF", "W/m2") 944 1102 945 1103 IF (.NOT. aerosol_couple) THEN 946 CALL histdef2d(iff,o_swtoacf_nat%flag,o_swtoacf_nat%name, "Natural aerosol impact on cloud radiative forcing at TOA", "W/m2") 947 CALL histdef2d(iff,o_swsrfcf_nat%flag,o_swsrfcf_nat%name, "Natural aerosol impact on cloud radiative forcing at SRF", "W/m2") 948 CALL histdef2d(iff,o_swtoacf_ant%flag,o_swtoacf_ant%name, "Anthropogenic aerosol impact on cloud radiative forcing at TOA", "W/m2") 949 CALL histdef2d(iff,o_swsrfcf_ant%flag,o_swsrfcf_ant%name, "Anthropogenic aerosol impact on cloud radiative forcing at SRF", "W/m2") 950 CALL histdef2d(iff,o_swtoacf_zero%flag,o_swtoacf_zero%name, "Cloud radiative forcing (allsky-clearsky fluxes) at TOA", "W/m2") 951 CALL histdef2d(iff,o_swsrfcf_zero%flag,o_swsrfcf_zero%name, "Cloud radiative forcing (allsky-clearsky fluxes) at SRF", "W/m2") 1104 CALL histdef2d(iff,clef_stations(iff), & 1105 o_swtoacf_nat%flag,o_swtoacf_nat%name, "Natural aerosol impact on cloud radiative forcing at TOA", "W/m2") 1106 CALL histdef2d(iff,clef_stations(iff), & 1107 o_swsrfcf_nat%flag,o_swsrfcf_nat%name, "Natural aerosol impact on cloud radiative forcing at SRF", "W/m2") 1108 CALL histdef2d(iff,clef_stations(iff), & 1109 o_swtoacf_ant%flag,o_swtoacf_ant%name, "Anthropogenic aerosol impact on cloud radiative forcing at TOA", "W/m2") 1110 CALL histdef2d(iff,clef_stations(iff), & 1111 o_swsrfcf_ant%flag,o_swsrfcf_ant%name, "Anthropogenic aerosol impact on cloud radiative forcing at SRF", "W/m2") 1112 CALL histdef2d(iff,clef_stations(iff), & 1113 o_swtoacf_zero%flag,o_swtoacf_zero%name, "Cloud radiative forcing (allsky-clearsky fluxes) at TOA", "W/m2") 1114 CALL histdef2d(iff,clef_stations(iff), & 1115 o_swsrfcf_zero%flag,o_swsrfcf_zero%name, "Cloud radiative forcing (allsky-clearsky fluxes) at SRF", "W/m2") 952 1116 ENDIF 953 1117 … … 955 1119 956 1120 IF (ok_aie) THEN 957 CALL histdef2d(iff,o_topswai%flag,o_topswai%name, "AIE at TOA", "W/m2") 958 CALL histdef2d(iff,o_solswai%flag,o_solswai%name, "AIE at SFR", "W/m2") 1121 CALL histdef2d(iff,clef_stations(iff), & 1122 o_topswai%flag,o_topswai%name, "AIE at TOA", "W/m2") 1123 CALL histdef2d(iff,clef_stations(iff), & 1124 o_solswai%flag,o_solswai%name, "AIE at SFR", "W/m2") 959 1125 !Cloud droplet number concentration 960 CALL histdef3d(iff,o_scdnc%flag,o_scdnc%name, "Cloud droplet number concentration","m-3") 961 CALL histdef2d(iff,o_cldncl%flag,o_cldncl%name, "CDNC at top of liquid water cloud", "m-3") 962 CALL histdef3d(iff,o_reffclws%flag,o_reffclws%name, "Stratiform Cloud Droplet Effective Radius","m") 963 CALL histdef3d(iff,o_reffclwc%flag,o_reffclwc%name, "Convective Cloud Droplet Effective Radius","m") 964 CALL histdef2d(iff,o_cldnvi%flag,o_cldnvi%name, "Column Integrated Cloud Droplet Number", "m-2") 965 CALL histdef3d(iff,o_lcc3d%flag,o_lcc3d%name, "Cloud liquid fraction","1") 966 CALL histdef3d(iff,o_lcc3dcon%flag,o_lcc3dcon%name, "Convective cloud liquid fraction","1") 967 CALL histdef3d(iff,o_lcc3dstra%flag,o_lcc3dstra%name, "Stratiform cloud liquid fraction","1") 968 CALL histdef2d(iff,o_lcc%flag,o_lcc%name, "Cloud liquid fraction at top of cloud","1") 969 CALL histdef2d(iff,o_reffclwtop%flag,o_reffclwtop%name, "Droplet effective radius at top of liquid water cloud", "m") 1126 CALL histdef3d(iff,clef_stations(iff), & 1127 o_scdnc%flag,o_scdnc%name, "Cloud droplet number concentration","m-3") 1128 CALL histdef2d(iff,clef_stations(iff), & 1129 o_cldncl%flag,o_cldncl%name, "CDNC at top of liquid water cloud", "m-3") 1130 CALL histdef3d(iff,clef_stations(iff), & 1131 o_reffclws%flag,o_reffclws%name, "Stratiform Cloud Droplet Effective Radius (aerosol diags.)","m") 1132 CALL histdef3d(iff,clef_stations(iff), & 1133 o_reffclwc%flag,o_reffclwc%name, "Convective Cloud Droplet Effective Radius (aerosol diags.)","m") 1134 CALL histdef2d(iff,clef_stations(iff), & 1135 o_cldnvi%flag,o_cldnvi%name, "Column Integrated Cloud Droplet Number", "m-2") 1136 CALL histdef3d(iff,clef_stations(iff), & 1137 o_lcc3d%flag,o_lcc3d%name, "Cloud liquid fraction","1") 1138 CALL histdef3d(iff,clef_stations(iff), & 1139 o_lcc3dcon%flag,o_lcc3dcon%name, "Convective cloud liquid fraction","1") 1140 CALL histdef3d(iff,clef_stations(iff), & 1141 o_lcc3dstra%flag,o_lcc3dstra%name, "Stratiform cloud liquid fraction","1") 1142 CALL histdef2d(iff,clef_stations(iff), & 1143 o_lcc%flag,o_lcc%name, "Cloud liquid fraction at top of cloud","1") 1144 CALL histdef2d(iff,clef_stations(iff), & 1145 o_reffclwtop%flag,o_reffclwtop%name, "Droplet effective radius at top of liquid water cloud", "m") 970 1146 ENDIF 971 1147 972 1148 973 CALL histdef2d(iff,o_alb1%flag,o_alb1%name, "Surface VIS albedo", "-") 974 CALL histdef2d(iff,o_alb2%flag,o_alb2%name, "Surface Near IR albedo", "-") 975 CALL histdef2d(iff,o_cdrm%flag,o_cdrm%name, "Momentum drag coef.", "-") 976 CALL histdef2d(iff,o_cdrh%flag,o_cdrh%name, "Heat drag coef.", "-" ) 977 CALL histdef2d(iff,o_cldl%flag,o_cldl%name, "Low-level cloudiness", "-") 978 CALL histdef2d(iff,o_cldm%flag,o_cldm%name, "Mid-level cloudiness", "-") 979 CALL histdef2d(iff,o_cldh%flag,o_cldh%name, "High-level cloudiness", "-") 980 CALL histdef2d(iff,o_cldt%flag,o_cldt%name, "Total cloudiness", "-") 981 CALL histdef2d(iff,o_cldq%flag,o_cldq%name, "Cloud liquid water path", "kg/m2") 982 CALL histdef2d(iff,o_lwp%flag,o_lwp%name, "Cloud water path", "kg/m2") 983 CALL histdef2d(iff,o_iwp%flag,o_iwp%name, "Cloud ice water path", "kg/m2" ) 984 CALL histdef2d(iff,o_ue%flag,o_ue%name, "Zonal energy transport", "-") 985 CALL histdef2d(iff,o_ve%flag,o_ve%name, "Merid energy transport", "-") 986 CALL histdef2d(iff,o_uq%flag,o_uq%name, "Zonal humidity transport", "-") 987 CALL histdef2d(iff,o_vq%flag,o_vq%name, "Merid humidity transport", "-") 1149 CALL histdef2d(iff,clef_stations(iff), & 1150 o_alb1%flag,o_alb1%name, "Surface VIS albedo", "-") 1151 CALL histdef2d(iff,clef_stations(iff), & 1152 o_alb2%flag,o_alb2%name, "Surface Near IR albedo", "-") 1153 CALL histdef2d(iff,clef_stations(iff), & 1154 o_cdrm%flag,o_cdrm%name, "Momentum drag coef.", "-") 1155 CALL histdef2d(iff,clef_stations(iff), & 1156 o_cdrh%flag,o_cdrh%name, "Heat drag coef.", "-" ) 1157 CALL histdef2d(iff,clef_stations(iff), & 1158 o_cldl%flag,o_cldl%name, "Low-level cloudiness", "-") 1159 CALL histdef2d(iff,clef_stations(iff), & 1160 o_cldm%flag,o_cldm%name, "Mid-level cloudiness", "-") 1161 CALL histdef2d(iff,clef_stations(iff), & 1162 o_cldh%flag,o_cldh%name, "High-level cloudiness", "-") 1163 CALL histdef2d(iff,clef_stations(iff), & 1164 o_cldt%flag,o_cldt%name, "Total cloudiness", "-") 1165 CALL histdef2d(iff,clef_stations(iff), & 1166 o_cldq%flag,o_cldq%name, "Cloud liquid water path", "kg/m2") 1167 CALL histdef2d(iff,clef_stations(iff), & 1168 o_lwp%flag,o_lwp%name, "Cloud water path", "kg/m2") 1169 CALL histdef2d(iff,clef_stations(iff), & 1170 o_iwp%flag,o_iwp%name, "Cloud ice water path", "kg/m2" ) 1171 CALL histdef2d(iff,clef_stations(iff), & 1172 o_ue%flag,o_ue%name, "Zonal energy transport", "-") 1173 CALL histdef2d(iff,clef_stations(iff), & 1174 o_ve%flag,o_ve%name, "Merid energy transport", "-") 1175 CALL histdef2d(iff,clef_stations(iff), & 1176 o_uq%flag,o_uq%name, "Zonal humidity transport", "-") 1177 CALL histdef2d(iff,clef_stations(iff), & 1178 o_vq%flag,o_vq%name, "Merid humidity transport", "-") 988 1179 989 1180 IF(iflag_con.GE.3) THEN ! sb 990 CALL histdef2d(iff,o_cape%flag,o_cape%name, "Conv avlbl pot ener", "J/kg") 991 CALL histdef2d(iff,o_pbase%flag,o_pbase%name, "Cld base pressure", "Pa") 992 CALL histdef2d(iff,o_ptop%flag,o_ptop%name, "Cld top pressure", "Pa") 993 CALL histdef2d(iff,o_fbase%flag,o_fbase%name, "Cld base mass flux", "kg/m2/s") 994 CALL histdef2d(iff,o_prw%flag,o_prw%name, "Precipitable water", "kg/m2") 1181 CALL histdef2d(iff,clef_stations(iff), & 1182 o_cape%flag,o_cape%name, "Conv avlbl pot ener", "J/kg") 1183 CALL histdef2d(iff,clef_stations(iff), & 1184 o_pbase%flag,o_pbase%name, "Cld base pressure", "Pa") 1185 CALL histdef2d(iff,clef_stations(iff), & 1186 o_ptop%flag,o_ptop%name, "Cld top pressure", "Pa") 1187 CALL histdef2d(iff,clef_stations(iff), & 1188 o_fbase%flag,o_fbase%name, "Cld base mass flux", "kg/m2/s") 1189 CALL histdef2d(iff,clef_stations(iff), & 1190 o_prw%flag,o_prw%name, "Precipitable water", "kg/m2") 1191 IF (.NOT.clef_stations(iff)) THEN 1192 ! 1193 !IM: there is no way to have one single value in a netcdf file 1194 ! 1195 type_ecri(1) = 't_max(X)' 1196 type_ecri(2) = 't_max(X)' 1197 type_ecri(3) = 't_max(X)' 1198 type_ecri(4) = 't_max(X)' 1199 type_ecri(5) = 't_max(X)' 1200 type_ecri(6) = 't_max(X)' 1201 CALL histdef2d(iff,clef_stations(iff), & 1202 o_cape_max%flag,o_cape_max%name, "CAPE max.", "J/kg") 1203 ENDIF 1204 type_ecri(:) = type_ecri_files(:) 1205 CALL histdef3d(iff,clef_stations(iff), & 1206 o_upwd%flag,o_upwd%name, "saturated updraft", "kg/m2/s") 1207 CALL histdef3d(iff,clef_stations(iff), & 1208 o_Ma%flag,o_Ma%name, "undilute adiab updraft", "kg/m2/s") 1209 CALL histdef3d(iff,clef_stations(iff), & 1210 o_dnwd%flag,o_dnwd%name, "saturated downdraft", "kg/m2/s") 1211 CALL histdef3d(iff,clef_stations(iff), & 1212 o_dnwd0%flag,o_dnwd0%name, "unsat. downdraft", "kg/m2/s") 1213 CALL histdef3d(iff,clef_stations(iff), & 1214 o_mc%flag,o_mc%name, "Convective mass flux", "kg/m2/s") 1215 type_ecri(1) = 'inst(X)' 1216 type_ecri(2) = 'inst(X)' 1217 type_ecri(3) = 'inst(X)' 1218 type_ecri(4) = 'inst(X)' 1219 type_ecri(5) = 'inst(X)' 1220 type_ecri(6) = 'inst(X)' 1221 CALL histdef2d(iff,clef_stations(iff), & 1222 o_ftime_con%flag,o_ftime_con%name, "Fraction of time convection Occurs", " ") 1223 type_ecri(:) = type_ecri_files(:) 1224 ENDIF !iflag_con .GE. 3 1225 1226 CALL histdef2d(iff,clef_stations(iff), & 1227 o_s_pblh%flag,o_s_pblh%name, "Boundary Layer Height", "m") 1228 CALL histdef2d(iff,clef_stations(iff), & 1229 o_s_pblt%flag,o_s_pblt%name, "t at Boundary Layer Height", "K") 1230 CALL histdef2d(iff,clef_stations(iff), & 1231 o_s_lcl%flag,o_s_lcl%name, "Condensation level", "m") 1232 CALL histdef2d(iff,clef_stations(iff), & 1233 o_s_therm%flag,o_s_therm%name, "Exces du thermique", "K") 1234 !IM : Les champs suivants (s_oliqCL, s_cteiCL, s_trmb1, s_trmb2, s_trmb3) ne sont pas definis dans HBTM.F 1235 !CALL histdef2d(iff,clef_stations(iff), & 1236 !o_s_capCL%flag,o_s_capCL%name, "Conv avlbl pot enerfor ABL", "J/m2" ) 1237 !CALL histdef2d(iff,clef_stations(iff), & 1238 !o_s_oliqCL%flag,o_s_oliqCL%name, "Liq Water in BL", "kg/m2") 1239 !CALL histdef2d(iff,clef_stations(iff), & 1240 !o_s_cteiCL%flag,o_s_cteiCL%name, "Instability criteria(ABL)", "K") 1241 !CALL histdef2d(iff,clef_stations(iff), & 1242 !o_s_trmb1%flag,o_s_trmb1%name, "deep_cape(HBTM2)", "J/m2") 1243 !CALL histdef2d(iff,clef_stations(iff), & 1244 !o_s_trmb2%flag,o_s_trmb2%name, "inhibition (HBTM2)", "J/m2") 1245 !CALL histdef2d(iff,clef_stations(iff), & 1246 !o_s_trmb3%flag,o_s_trmb3%name, "Point Omega (HBTM2)", "m") 1247 1248 ! Champs interpolles sur des niveaux de pression 1249 1250 type_ecri(1) = 'inst(X)' 1251 type_ecri(2) = 'inst(X)' 1252 type_ecri(3) = 'inst(X)' 1253 type_ecri(4) = 'inst(X)' 1254 type_ecri(5) = 'inst(X)' 1255 type_ecri(6) = 'inst(X)' 1256 1257 ! Attention a reverifier 1258 1259 ilev=0 1260 DO k=1, nlevSTD 1261 bb2=clevSTD(k) 1262 IF(bb2.EQ."850".OR.bb2.EQ."700".OR.bb2.EQ."500".OR.bb2.EQ."200" & 1263 .OR.bb2.EQ."100".OR.bb2.EQ."50".OR.bb2.EQ."10")THEN 1264 ilev=ilev+1 1265 ! print*,'ilev k bb2 flag name ',ilev,k, bb2,o_uSTDlevs(ilev)%flag,o_uSTDlevs(ilev)%name 1266 CALL histdef2d(iff,clef_stations(iff), & 1267 o_uSTDlevs(ilev)%flag,o_uSTDlevs(ilev)%name,"Zonal wind "//bb2//"hPa", "m/s") 1268 CALL histdef2d(iff,clef_stations(iff), & 1269 o_vSTDlevs(ilev)%flag,o_vSTDlevs(ilev)%name,"Meridional wind "//bb2//"hPa", "m/s") 1270 CALL histdef2d(iff,clef_stations(iff), & 1271 o_wSTDlevs(ilev)%flag,o_wSTDlevs(ilev)%name,"Vertical wind "//bb2//"hPa", "Pa/s") 1272 CALL histdef2d(iff,clef_stations(iff), & 1273 o_zSTDlevs(ilev)%flag,o_zSTDlevs(ilev)%name,"Geopotential height "//bb2//"hPa", "m") 1274 CALL histdef2d(iff,clef_stations(iff), & 1275 o_qSTDlevs(ilev)%flag,o_qSTDlevs(ilev)%name,"Specific humidity "//bb2//"hPa", "kg/kg" ) 1276 CALL histdef2d(iff,clef_stations(iff), & 1277 o_tSTDlevs(ilev)%flag,o_tSTDlevs(ilev)%name,"Temperature "//bb2//"hPa", "K") 1278 ENDIF !(bb2.EQ."850".OR.bb2.EQ."700".OR."500".OR.bb2.EQ."200".OR.bb2.EQ."50".OR.bb2.EQ."10") 1279 ENDDO 1280 type_ecri(:) = type_ecri_files(:) 1281 1282 CALL histdef2d(iff,clef_stations(iff), & 1283 o_t_oce_sic%flag,o_t_oce_sic%name, "Temp mixte oce-sic", "K") 1284 1285 IF (type_ocean=='slab') & 1286 CALL histdef2d(iff,clef_stations(iff), & 1287 o_slab_bils%flag, o_slab_bils%name,"Bilan au sol sur ocean slab", "W/m2") 1288 1289 ! Couplage conv-CL 1290 IF (iflag_con.GE.3) THEN 1291 IF (iflag_coupl.EQ.1) THEN 1292 CALL histdef2d(iff,clef_stations(iff), & 1293 o_ale_bl%flag,o_ale_bl%name, "ALE BL", "m2/s2") 1294 CALL histdef2d(iff,clef_stations(iff), & 1295 o_alp_bl%flag,o_alp_bl%name, "ALP BL", "m2/s2") 1296 ENDIF 1297 ENDIF !(iflag_con.GE.3) 1298 1299 CALL histdef2d(iff,clef_stations(iff), & 1300 o_weakinv%flag,o_weakinv%name, "Weak inversion", "-") 1301 CALL histdef2d(iff,clef_stations(iff), & 1302 o_dthmin%flag,o_dthmin%name, "dTheta mini", "K/m") 1303 CALL histdef2d(iff,clef_stations(iff), & 1304 o_rh2m%flag,o_rh2m%name, "Relative humidity at 2m", "%" ) 1305 1306 IF (.NOT.clef_stations(iff)) THEN 1307 ! 1308 !IM: there is no way to have one single value in a netcdf file 1309 ! 1310 type_ecri(1) = 't_min(X)' 1311 type_ecri(2) = 't_min(X)' 1312 type_ecri(3) = 't_min(X)' 1313 type_ecri(4) = 't_min(X)' 1314 type_ecri(5) = 't_min(X)' 1315 type_ecri(6) = 't_min(X)' 1316 CALL histdef2d(iff,clef_stations(iff),o_rh2m_min%flag,o_rh2m_min%name, "Min Relative humidity at 2m", "%" ) 995 1317 type_ecri(1) = 't_max(X)' 996 1318 type_ecri(2) = 't_max(X)' … … 998 1320 type_ecri(4) = 't_max(X)' 999 1321 type_ecri(5) = 't_max(X)' 1000 CALL histdef2d(iff,o_cape_max%flag,o_cape_max%name, "CAPE max.", "J/kg") 1322 type_ecri(6) = 't_max(X)' 1323 CALL histdef2d(iff,clef_stations(iff),o_rh2m_max%flag,o_rh2m_max%name, "Max Relative humidity at 2m", "%" ) 1324 ENDIF 1325 1001 1326 type_ecri(:) = type_ecri_files(:) 1002 CALL histdef3d(iff,o_upwd%flag,o_upwd%name, "saturated updraft", "kg/m2/s") 1003 CALL histdef3d(iff,o_Ma%flag,o_Ma%name, "undilute adiab updraft", "kg/m2/s") 1004 CALL histdef3d(iff,o_dnwd%flag,o_dnwd%name, "saturated downdraft", "kg/m2/s") 1005 CALL histdef3d(iff,o_dnwd0%flag,o_dnwd0%name, "unsat. downdraft", "kg/m2/s") 1006 CALL histdef3d(iff,o_mc%flag,o_mc%name, "Convective mass flux", "kg/m2/s") 1007 type_ecri(1) = 'inst(X)' 1008 type_ecri(2) = 'inst(X)' 1009 type_ecri(3) = 'inst(X)' 1010 type_ecri(4) = 'inst(X)' 1011 type_ecri(5) = 'inst(X)' 1012 CALL histdef2d(iff,o_ftime_con%flag,o_ftime_con%name, "Fraction of time convection Occurs", " ") 1013 type_ecri(:) = type_ecri_files(:) 1014 ENDIF !iflag_con .GE. 3 1015 1016 CALL histdef2d(iff,o_s_pblh%flag,o_s_pblh%name, "Boundary Layer Height", "m") 1017 CALL histdef2d(iff,o_s_pblt%flag,o_s_pblt%name, "t at Boundary Layer Height", "K") 1018 CALL histdef2d(iff,o_s_lcl%flag,o_s_lcl%name, "Condensation level", "m") 1019 CALL histdef2d(iff,o_s_therm%flag,o_s_therm%name, "Exces du thermique", "K") 1020 !IM : Les champs suivants (s_oliqCL, s_cteiCL, s_trmb1, s_trmb2, s_trmb3) ne sont pas definis dans HBTM.F 1021 !CALL histdef2d(iff,o_s_capCL%flag,o_s_capCL%name, "Conv avlbl pot enerfor ABL", "J/m2" ) 1022 !CALL histdef2d(iff,o_s_oliqCL%flag,o_s_oliqCL%name, "Liq Water in BL", "kg/m2") 1023 !CALL histdef2d(iff,o_s_cteiCL%flag,o_s_cteiCL%name, "Instability criteria(ABL)", "K") 1024 !CALL histdef2d(iff,o_s_trmb1%flag,o_s_trmb1%name, "deep_cape(HBTM2)", "J/m2") 1025 !CALL histdef2d(iff,o_s_trmb2%flag,o_s_trmb2%name, "inhibition (HBTM2)", "J/m2") 1026 !CALL histdef2d(iff,o_s_trmb3%flag,o_s_trmb3%name, "Point Omega (HBTM2)", "m") 1027 1028 ! Champs interpolles sur des niveaux de pression 1029 1030 type_ecri(1) = 'inst(X)' 1031 type_ecri(2) = 'inst(X)' 1032 type_ecri(3) = 'inst(X)' 1033 type_ecri(4) = 'inst(X)' 1034 type_ecri(5) = 'inst(X)' 1035 1036 ! Attention a reverifier 1037 1038 ilev=0 1039 DO k=1, nlevSTD 1040 ! IF(k.GE.2.AND.k.LE.12) bb2=clevSTD(k) 1041 bb2=clevSTD(k) 1042 IF(bb2.EQ."850".OR.bb2.EQ."700".OR.bb2.EQ."500".OR.bb2.EQ."200".OR.bb2.EQ."50".OR.bb2.EQ."10")THEN 1043 ilev=ilev+1 1044 print*,'ilev k bb2 flag name ',ilev,k, bb2,o_uSTDlevs(ilev)%flag,o_uSTDlevs(ilev)%name 1045 CALL histdef2d(iff,o_uSTDlevs(ilev)%flag,o_uSTDlevs(ilev)%name,"Zonal wind "//bb2//"hPa", "m/s") 1046 CALL histdef2d(iff,o_vSTDlevs(ilev)%flag,o_vSTDlevs(ilev)%name,"Meridional wind "//bb2//"hPa", "m/s") 1047 CALL histdef2d(iff,o_wSTDlevs(ilev)%flag,o_wSTDlevs(ilev)%name,"Vertical wind "//bb2//"hPa", "Pa/s") 1048 CALL histdef2d(iff,o_zSTDlevs(ilev)%flag,o_zSTDlevs(ilev)%name,"Geopotential height "//bb2//"hPa", "m") 1049 CALL histdef2d(iff,o_qSTDlevs(ilev)%flag,o_qSTDlevs(ilev)%name,"Specific humidity "//bb2//"hPa", "kg/kg" ) 1050 CALL histdef2d(iff,o_tSTDlevs(ilev)%flag,o_tSTDlevs(ilev)%name,"Temperature "//bb2//"hPa", "K") 1051 ENDIF !(bb2.EQ."850".OR.bb2.EQ."700".OR."500".OR.bb2.EQ."200".OR.bb2.EQ."50".OR.bb2.EQ."10") 1052 ENDDO 1053 type_ecri(:) = type_ecri_files(:) 1054 1055 CALL histdef2d(iff,o_t_oce_sic%flag,o_t_oce_sic%name, "Temp mixte oce-sic", "K") 1056 1057 IF (type_ocean=='slab') & 1058 CALL histdef2d(iff,o_slab_bils%flag, o_slab_bils%name,"Bilan au sol sur ocean slab", "W/m2") 1059 1060 ! Couplage conv-CL 1061 IF (iflag_con.GE.3) THEN 1062 IF (iflag_coupl.EQ.1) THEN 1063 CALL histdef2d(iff,o_ale_bl%flag,o_ale_bl%name, "ALE BL", "m2/s2") 1064 CALL histdef2d(iff,o_alp_bl%flag,o_alp_bl%name, "ALP BL", "m2/s2") 1065 ENDIF 1066 ENDIF !(iflag_con.GE.3) 1067 1068 CALL histdef2d(iff,o_weakinv%flag,o_weakinv%name, "Weak inversion", "-") 1069 CALL histdef2d(iff,o_dthmin%flag,o_dthmin%name, "dTheta mini", "K/m") 1070 CALL histdef2d(iff,o_rh2m%flag,o_rh2m%name, "Relative humidity at 2m", "%" ) 1071 type_ecri(1) = 't_min(X)' 1072 type_ecri(2) = 't_min(X)' 1073 type_ecri(3) = 't_min(X)' 1074 type_ecri(4) = 't_min(X)' 1075 type_ecri(5) = 't_min(X)' 1076 CALL histdef2d(iff,o_rh2m_min%flag,o_rh2m_min%name, "Min Relative humidity at 2m", "%" ) 1327 CALL histdef2d(iff,clef_stations(iff),o_qsat2m%flag,o_qsat2m%name, "Saturant humidity at 2m", "%") 1328 CALL histdef2d(iff,clef_stations(iff),o_tpot%flag,o_tpot%name, "Surface air potential temperature", "K") 1329 CALL histdef2d(iff,clef_stations(iff), & 1330 o_tpote%flag,o_tpote%name, "Surface air equivalent potential temperature", "K") 1331 CALL histdef2d(iff,clef_stations(iff),o_SWnetOR%flag,o_SWnetOR%name, "Sfce net SW radiation OR", "W/m2") 1332 CALL histdef2d(iff,clef_stations(iff),o_SWdownOR%flag,o_SWdownOR%name, "Sfce incident SW radiation OR", "W/m2") 1333 CALL histdef2d(iff,clef_stations(iff),o_LWdownOR%flag,o_LWdownOR%name, "Sfce incident LW radiation OR", "W/m2") 1334 CALL histdef2d(iff,clef_stations(iff),o_snowl%flag,o_snowl%name, "Solid Large-scale Precip.", "kg/(m2*s)") 1335 1336 CALL histdef2d(iff,clef_stations(iff),o_solldown%flag,o_solldown%name, "Down. IR rad. at surface", "W/m2") 1337 CALL histdef2d(iff,clef_stations(iff),o_dtsvdfo%flag,o_dtsvdfo%name, "Boundary-layer dTs(o)", "K/s") 1338 CALL histdef2d(iff,clef_stations(iff),o_dtsvdft%flag,o_dtsvdft%name, "Boundary-layer dTs(t)", "K/s") 1339 CALL histdef2d(iff,clef_stations(iff),o_dtsvdfg%flag,o_dtsvdfg%name, "Boundary-layer dTs(g)", "K/s") 1340 CALL histdef2d(iff,clef_stations(iff),o_dtsvdfi%flag,o_dtsvdfi%name, "Boundary-layer dTs(g)", "K/s") 1341 CALL histdef2d(iff,clef_stations(iff),o_rugs%flag,o_rugs%name, "rugosity", "-" ) 1342 1343 ! Champs 3D: 1344 CALL histdef3d(iff,clef_stations(iff),o_ec550aer%flag,o_ec550aer%name, "Extinction at 550nm", "m^-1") 1345 CALL histdef3d(iff,clef_stations(iff),o_lwcon%flag,o_lwcon%name, "Cloud liquid water content", "kg/kg") 1346 CALL histdef3d(iff,clef_stations(iff),o_iwcon%flag,o_iwcon%name, "Cloud ice water content", "kg/kg") 1347 CALL histdef3d(iff,clef_stations(iff),o_temp%flag,o_temp%name, "Air temperature", "K" ) 1348 CALL histdef3d(iff,clef_stations(iff),o_theta%flag,o_theta%name, "Potential air temperature", "K" ) 1349 CALL histdef3d(iff,clef_stations(iff),o_ovap%flag,o_ovap%name, "Specific humidity", "kg/kg" ) 1350 CALL histdef3d(iff,clef_stations(iff), & 1351 o_ovapinit%flag,o_ovapinit%name, "Specific humidity (begin of timestep)", "kg/kg" ) 1352 CALL histdef3d(iff,clef_stations(iff), & 1353 o_geop%flag,o_geop%name, "Geopotential height", "m2/s2") 1354 CALL histdef3d(iff,clef_stations(iff), & 1355 o_vitu%flag,o_vitu%name, "Zonal wind", "m/s" ) 1356 CALL histdef3d(iff,clef_stations(iff), & 1357 o_vitv%flag,o_vitv%name, "Meridional wind", "m/s" ) 1358 CALL histdef3d(iff,clef_stations(iff), & 1359 o_vitw%flag,o_vitw%name, "Vertical wind", "Pa/s" ) 1360 CALL histdef3d(iff,clef_stations(iff), & 1361 o_pres%flag,o_pres%name, "Air pressure", "Pa" ) 1362 CALL histdef3d(iff,clef_stations(iff), & 1363 o_paprs%flag,o_paprs%name, "Air pressure Inter-Couches", "Pa" ) 1364 CALL histdef3d(iff,clef_stations(iff), & 1365 o_zfull%flag,o_zfull%name, "Altitude of full pressure levels", "m" ) 1366 CALL histdef3d(iff,clef_stations(iff), & 1367 o_zhalf%flag,o_zhalf%name, "Altitude of half pressure levels", "m" ) 1368 CALL histdef3d(iff,clef_stations(iff), & 1369 o_rneb%flag,o_rneb%name, "Cloud fraction", "-") 1370 CALL histdef3d(iff,clef_stations(iff), & 1371 o_rnebcon%flag,o_rnebcon%name, "Convective Cloud Fraction", "-") 1372 CALL histdef3d(iff,clef_stations(iff), & 1373 o_rhum%flag,o_rhum%name, "Relative humidity", "-") 1374 CALL histdef3d(iff,clef_stations(iff), & 1375 o_ozone%flag,o_ozone%name, "Ozone mole fraction", "-") 1376 if (read_climoz == 2) & 1377 CALL histdef3d(iff,clef_stations(iff), & 1378 o_ozone_light%flag,o_ozone_light%name, & 1379 "Daylight ozone mole fraction", "-") 1380 CALL histdef3d(iff,clef_stations(iff), & 1381 o_dtphy%flag,o_dtphy%name, "Physics dT", "K/s") 1382 CALL histdef3d(iff,clef_stations(iff), & 1383 o_dqphy%flag,o_dqphy%name, "Physics dQ", "(kg/kg)/s") 1384 CALL histdef3d(iff,clef_stations(iff), & 1385 o_cldtau%flag,o_cldtau%name, "Cloud optical thickness", "1") 1386 CALL histdef3d(iff,clef_stations(iff), & 1387 o_cldemi%flag,o_cldemi%name, "Cloud optical emissivity", "1") 1388 !IM: bug ?? dimensionnement variables (klon,klev+1) pmflxr, pmflxs, prfl, psfl 1389 CALL histdef3d(iff,clef_stations(iff), & 1390 o_pr_con_l%flag,o_pr_con_l%name, "Convective precipitation lic", " ") 1391 CALL histdef3d(iff,clef_stations(iff), & 1392 o_pr_con_i%flag,o_pr_con_i%name, "Convective precipitation ice", " ") 1393 CALL histdef3d(iff,clef_stations(iff), & 1394 o_pr_lsc_l%flag,o_pr_lsc_l%name, "Large scale precipitation lic", " ") 1395 CALL histdef3d(iff,clef_stations(iff), & 1396 o_pr_lsc_i%flag,o_pr_lsc_i%name, "Large scale precipitation ice", " ") 1397 !Cloud droplet effective radius 1398 CALL histdef3d(iff,clef_stations(iff), & 1399 o_re%flag,o_re%name, "Cloud droplet effective radius","um") 1400 CALL histdef3d(iff,clef_stations(iff), & 1401 o_fl%flag,o_fl%name, "Denominator of Cloud droplet effective radius"," ") 1402 !FH Sorties pour la couche limite 1403 if (iflag_pbl>1) then 1404 CALL histdef3d(iff,clef_stations(iff), & 1405 o_tke%flag,o_tke%name, "TKE", "m2/s2") 1406 IF (.NOT.clef_stations(iff)) THEN 1407 ! 1408 !IM: there is no way to have one single value in a netcdf file 1409 ! 1077 1410 type_ecri(1) = 't_max(X)' 1078 1411 type_ecri(2) = 't_max(X)' … … 1080 1413 type_ecri(4) = 't_max(X)' 1081 1414 type_ecri(5) = 't_max(X)' 1082 CALL histdef2d(iff,o_rh2m_max%flag,o_rh2m_max%name, "Max Relative humidity at 2m", "%" ) 1415 type_ecri(6) = 't_max(X)' 1416 CALL histdef3d(iff,clef_stations(iff), & 1417 o_tke_max%flag,o_tke_max%name, "TKE max", "m2/s2") 1418 ENDIF 1083 1419 type_ecri(:) = type_ecri_files(:) 1084 CALL histdef2d(iff,o_qsat2m%flag,o_qsat2m%name, "Saturant humidity at 2m", "%") 1085 CALL histdef2d(iff,o_tpot%flag,o_tpot%name, "Surface air potential temperature", "K") 1086 CALL histdef2d(iff,o_tpote%flag,o_tpote%name, "Surface air equivalent potential temperature", "K") 1087 CALL histdef2d(iff,o_SWnetOR%flag,o_SWnetOR%name, "Sfce net SW radiation OR", "W/m2") 1088 CALL histdef2d(iff,o_SWdownOR%flag,o_SWdownOR%name, "Sfce incident SW radiation OR", "W/m2") 1089 CALL histdef2d(iff,o_LWdownOR%flag,o_LWdownOR%name, "Sfce incident LW radiation OR", "W/m2") 1090 CALL histdef2d(iff,o_snowl%flag,o_snowl%name, "Solid Large-scale Precip.", "kg/(m2*s)") 1091 1092 CALL histdef2d(iff,o_solldown%flag,o_solldown%name, "Down. IR rad. at surface", "W/m2") 1093 CALL histdef2d(iff,o_dtsvdfo%flag,o_dtsvdfo%name, "Boundary-layer dTs(o)", "K/s") 1094 CALL histdef2d(iff,o_dtsvdft%flag,o_dtsvdft%name, "Boundary-layer dTs(t)", "K/s") 1095 CALL histdef2d(iff,o_dtsvdfg%flag,o_dtsvdfg%name, "Boundary-layer dTs(g)", "K/s") 1096 CALL histdef2d(iff,o_dtsvdfi%flag,o_dtsvdfi%name, "Boundary-layer dTs(g)", "K/s") 1097 CALL histdef2d(iff,o_rugs%flag,o_rugs%name, "rugosity", "-" ) 1098 1099 ! Champs 3D: 1100 CALL histdef3d(iff,o_ec550aer%flag,o_ec550aer%name, "Extinction at 550nm", "m^-1") 1101 CALL histdef3d(iff,o_lwcon%flag,o_lwcon%name, "Cloud liquid water content", "kg/kg") 1102 CALL histdef3d(iff,o_iwcon%flag,o_iwcon%name, "Cloud ice water content", "kg/kg") 1103 CALL histdef3d(iff,o_temp%flag,o_temp%name, "Air temperature", "K" ) 1104 CALL histdef3d(iff,o_theta%flag,o_theta%name, "Potential air temperature", "K" ) 1105 CALL histdef3d(iff,o_ovap%flag,o_ovap%name, "Specific humidity", "kg/kg" ) 1106 CALL histdef3d(iff,o_ovapinit%flag,o_ovapinit%name, "Specific humidity (begin of timestep)", "kg/kg" ) 1107 CALL histdef3d(iff,o_geop%flag,o_geop%name, "Geopotential height", "m2/s2") 1108 CALL histdef3d(iff,o_vitu%flag,o_vitu%name, "Zonal wind", "m/s" ) 1109 CALL histdef3d(iff,o_vitv%flag,o_vitv%name, "Meridional wind", "m/s" ) 1110 CALL histdef3d(iff,o_vitw%flag,o_vitw%name, "Vertical wind", "Pa/s" ) 1111 CALL histdef3d(iff,o_pres%flag,o_pres%name, "Air pressure", "Pa" ) 1112 CALL histdef3d(iff,o_paprs%flag,o_paprs%name, "Air pressure Inter-Couches", "Pa" ) 1113 CALL histdef3d(iff,o_rneb%flag,o_rneb%name, "Cloud fraction", "-") 1114 CALL histdef3d(iff,o_rnebcon%flag,o_rnebcon%name, "Convective Cloud Fraction", "-") 1115 CALL histdef3d(iff,o_rhum%flag,o_rhum%name, "Relative humidity", "-") 1116 CALL histdef3d(iff,o_ozone%flag,o_ozone%name, "Ozone mole fraction", "-") 1117 if (read_climoz == 2) & 1118 CALL histdef3d(iff,o_ozone_light%flag,o_ozone_light%name, & 1119 "Daylight ozone mole fraction", "-") 1120 CALL histdef3d(iff,o_dtphy%flag,o_dtphy%name, "Physics dT", "K/s") 1121 CALL histdef3d(iff,o_dqphy%flag,o_dqphy%name, "Physics dQ", "(kg/kg)/s") 1122 CALL histdef3d(iff,o_cldtau%flag,o_cldtau%name, "Cloud optical thickness", "1") 1123 CALL histdef3d(iff,o_cldemi%flag,o_cldemi%name, "Cloud optical emissivity", "1") 1124 !IM: bug ?? dimensionnement variables (klon,klev+1) pmflxr, pmflxs, prfl, psfl 1125 CALL histdef3d(iff,o_pr_con_l%flag,o_pr_con_l%name, "Convective precipitation lic", " ") 1126 CALL histdef3d(iff,o_pr_con_i%flag,o_pr_con_i%name, "Convective precipitation ice", " ") 1127 CALL histdef3d(iff,o_pr_lsc_l%flag,o_pr_lsc_l%name, "Large scale precipitation lic", " ") 1128 CALL histdef3d(iff,o_pr_lsc_i%flag,o_pr_lsc_i%name, "Large scale precipitation ice", " ") 1129 !Cloud droplet effective radius 1130 CALL histdef3d(iff,o_re%flag,o_re%name, "Cloud droplet effective radius","um") 1131 CALL histdef3d(iff,o_fl%flag,o_fl%name, "Denominator of Cloud droplet effective radius"," ") 1132 !FH Sorties pour la couche limite 1133 if (iflag_pbl>1) then 1134 CALL histdef3d(iff,o_tke%flag,o_tke%name, "TKE", "m2/s2") 1420 endif 1421 1422 CALL histdef3d(iff,clef_stations(iff), & 1423 o_kz%flag,o_kz%name, "Kz melange", "m2/s") 1424 IF (.NOT.clef_stations(iff)) THEN 1425 ! 1426 !IM: there is no way to have one single value in a netcdf file 1427 ! 1135 1428 type_ecri(1) = 't_max(X)' 1136 1429 type_ecri(2) = 't_max(X)' … … 1138 1431 type_ecri(4) = 't_max(X)' 1139 1432 type_ecri(5) = 't_max(X)' 1140 CALL histdef3d(iff,o_tke_max%flag,o_tke_max%name, "TKE max", "m2/s2") 1433 type_ecri(6) = 't_max(X)' 1434 CALL histdef3d(iff,clef_stations(iff), & 1435 o_kz_max%flag,o_kz_max%name, "Kz melange max", "m2/s" ) 1436 ENDIF 1141 1437 type_ecri(:) = type_ecri_files(:) 1142 endif 1143 1144 CALL histdef3d(iff,o_kz%flag,o_kz%name, "Kz melange", "m2/s") 1145 type_ecri(1) = 't_max(X)' 1146 type_ecri(2) = 't_max(X)' 1147 type_ecri(3) = 't_max(X)' 1148 type_ecri(4) = 't_max(X)' 1149 type_ecri(5) = 't_max(X)' 1150 CALL histdef3d(iff,o_kz_max%flag,o_kz_max%name, "Kz melange max", "m2/s" ) 1151 type_ecri(:) = type_ecri_files(:) 1152 CALL histdef3d(iff,o_clwcon%flag,o_clwcon%name, "Convective Cloud Liquid water content", "kg/kg") 1153 CALL histdef3d(iff,o_dtdyn%flag,o_dtdyn%name, "Dynamics dT", "K/s") 1154 CALL histdef3d(iff,o_dqdyn%flag,o_dqdyn%name, "Dynamics dQ", "(kg/kg)/s") 1155 CALL histdef3d(iff,o_dudyn%flag,o_dudyn%name, "Dynamics dU", "m/s2") 1156 CALL histdef3d(iff,o_dvdyn%flag,o_dvdyn%name, "Dynamics dV", "m/s2") 1157 CALL histdef3d(iff,o_dtcon%flag,o_dtcon%name, "Convection dT", "K/s") 1158 CALL histdef3d(iff,o_ducon%flag,o_ducon%name, "Convection du", "m/s2") 1159 CALL histdef3d(iff,o_dqcon%flag,o_dqcon%name, "Convection dQ", "(kg/kg)/s") 1438 CALL histdef3d(iff,clef_stations(iff), & 1439 o_clwcon%flag,o_clwcon%name, "Convective Cloud Liquid water content", "kg/kg") 1440 CALL histdef3d(iff,clef_stations(iff), & 1441 o_dtdyn%flag,o_dtdyn%name, "Dynamics dT", "K/s") 1442 CALL histdef3d(iff,clef_stations(iff), & 1443 o_dqdyn%flag,o_dqdyn%name, "Dynamics dQ", "(kg/kg)/s") 1444 CALL histdef3d(iff,clef_stations(iff), & 1445 o_dudyn%flag,o_dudyn%name, "Dynamics dU", "m/s2") 1446 CALL histdef3d(iff,clef_stations(iff), & 1447 o_dvdyn%flag,o_dvdyn%name, "Dynamics dV", "m/s2") 1448 CALL histdef3d(iff,clef_stations(iff), & 1449 o_dtcon%flag,o_dtcon%name, "Convection dT", "K/s") 1450 CALL histdef3d(iff,clef_stations(iff), & 1451 o_ducon%flag,o_ducon%name, "Convection du", "m/s2") 1452 CALL histdef3d(iff,clef_stations(iff), & 1453 o_dqcon%flag,o_dqcon%name, "Convection dQ", "(kg/kg)/s") 1160 1454 1161 1455 ! Wakes 1162 1456 IF(iflag_con.EQ.3) THEN 1163 1457 IF (iflag_wake == 1) THEN 1164 CALL histdef2d(iff,o_ale_wk%flag,o_ale_wk%name, "ALE WK", "m2/s2") 1165 CALL histdef2d(iff,o_alp_wk%flag,o_alp_wk%name, "ALP WK", "m2/s2") 1166 CALL histdef2d(iff,o_ale%flag,o_ale%name, "ALE", "m2/s2") 1167 CALL histdef2d(iff,o_alp%flag,o_alp%name, "ALP", "W/m2") 1168 CALL histdef2d(iff,o_cin%flag,o_cin%name, "Convective INhibition", "m2/s2") 1169 CALL histdef2d(iff,o_wape%flag,o_WAPE%name, "WAPE", "m2/s2") 1170 CALL histdef2d(iff,o_wake_h%flag,o_wake_h%name, "wake_h", "-") 1171 CALL histdef2d(iff,o_wake_s%flag,o_wake_s%name, "wake_s", "-") 1172 CALL histdef3d(iff,o_dtwak%flag,o_dtwak%name, "Wake dT", "K/s") 1173 CALL histdef3d(iff,o_dqwak%flag,o_dqwak%name, "Wake dQ", "(kg/kg)/s") 1174 CALL histdef3d(iff,o_wake_deltat%flag,o_wake_deltat%name, "wake_deltat", " ") 1175 CALL histdef3d(iff,o_wake_deltaq%flag,o_wake_deltaq%name, "wake_deltaq", " ") 1176 CALL histdef3d(iff,o_wake_omg%flag,o_wake_omg%name, "wake_omg", " ") 1458 CALL histdef2d(iff,clef_stations(iff), & 1459 o_ale_wk%flag,o_ale_wk%name, "ALE WK", "m2/s2") 1460 CALL histdef2d(iff,clef_stations(iff), & 1461 o_alp_wk%flag,o_alp_wk%name, "ALP WK", "m2/s2") 1462 CALL histdef2d(iff,clef_stations(iff), & 1463 o_ale%flag,o_ale%name, "ALE", "m2/s2") 1464 CALL histdef2d(iff,clef_stations(iff), & 1465 o_alp%flag,o_alp%name, "ALP", "W/m2") 1466 CALL histdef2d(iff,clef_stations(iff),o_cin%flag,o_cin%name, "Convective INhibition", "m2/s2") 1467 CALL histdef2d(iff,clef_stations(iff),o_wape%flag,o_WAPE%name, "WAPE", "m2/s2") 1468 CALL histdef2d(iff,clef_stations(iff),o_wake_h%flag,o_wake_h%name, "wake_h", "-") 1469 CALL histdef2d(iff,clef_stations(iff),o_wake_s%flag,o_wake_s%name, "wake_s", "-") 1470 CALL histdef3d(iff,clef_stations(iff),o_dtwak%flag,o_dtwak%name, "Wake dT", "K/s") 1471 CALL histdef3d(iff,clef_stations(iff),o_dqwak%flag,o_dqwak%name, "Wake dQ", "(kg/kg)/s") 1472 CALL histdef3d(iff,clef_stations(iff),o_wake_deltat%flag,o_wake_deltat%name, "wake_deltat", " ") 1473 CALL histdef3d(iff,clef_stations(iff),o_wake_deltaq%flag,o_wake_deltaq%name, "wake_deltaq", " ") 1474 CALL histdef3d(iff,clef_stations(iff),o_wake_omg%flag,o_wake_omg%name, "wake_omg", " ") 1177 1475 ENDIF 1178 CALL histdef3d(iff, o_Vprecip%flag,o_Vprecip%name, "precipitation vertical profile", "-")1179 CALL histdef3d(iff, o_ftd%flag,o_ftd%name, "tend temp due aux descentes precip", "-")1180 CALL histdef3d(iff, o_fqd%flag,o_fqd%name,"tend vap eau due aux descentes precip", "-")1476 CALL histdef3d(iff,clef_stations(iff),o_Vprecip%flag,o_Vprecip%name, "precipitation vertical profile", "-") 1477 CALL histdef3d(iff,clef_stations(iff),o_ftd%flag,o_ftd%name, "tend temp due aux descentes precip", "-") 1478 CALL histdef3d(iff,clef_stations(iff),o_fqd%flag,o_fqd%name,"tend vap eau due aux descentes precip", "-") 1181 1479 ENDIF !(iflag_con.EQ.3) 1182 1480 1183 CALL histdef3d(iff, o_dtlsc%flag,o_dtlsc%name, "Condensation dT", "K/s")1184 CALL histdef3d(iff, o_dtlschr%flag,o_dtlschr%name,"Large-scale condensational heating rate","K/s")1185 CALL histdef3d(iff, o_dqlsc%flag,o_dqlsc%name, "Condensation dQ", "(kg/kg)/s")1186 CALL histdef3d(iff, o_dtvdf%flag,o_dtvdf%name, "Boundary-layer dT", "K/s")1187 CALL histdef3d(iff, o_dqvdf%flag,o_dqvdf%name, "Boundary-layer dQ", "(kg/kg)/s")1188 CALL histdef3d(iff, o_dteva%flag,o_dteva%name, "Reevaporation dT", "K/s")1189 CALL histdef3d(iff, o_dqeva%flag,o_dqeva%name, "Reevaporation dQ", "(kg/kg)/s")1190 CALL histdef3d(iff, o_ptconv%flag,o_ptconv%name, "POINTS CONVECTIFS", " ")1191 CALL histdef3d(iff, o_ratqs%flag,o_ratqs%name, "RATQS", " ")1192 CALL histdef3d(iff, o_dtthe%flag,o_dtthe%name, "Dry adjust.dT", "K/s")1481 CALL histdef3d(iff,clef_stations(iff),o_dtlsc%flag,o_dtlsc%name, "Condensation dT", "K/s") 1482 CALL histdef3d(iff,clef_stations(iff),o_dtlschr%flag,o_dtlschr%name,"Large-scale condensational heating rate","K/s") 1483 CALL histdef3d(iff,clef_stations(iff),o_dqlsc%flag,o_dqlsc%name, "Condensation dQ", "(kg/kg)/s") 1484 CALL histdef3d(iff,clef_stations(iff),o_dtvdf%flag,o_dtvdf%name, "Boundary-layer dT", "K/s") 1485 CALL histdef3d(iff,clef_stations(iff),o_dqvdf%flag,o_dqvdf%name, "Boundary-layer dQ", "(kg/kg)/s") 1486 CALL histdef3d(iff,clef_stations(iff),o_dteva%flag,o_dteva%name, "Reevaporation dT", "K/s") 1487 CALL histdef3d(iff,clef_stations(iff),o_dqeva%flag,o_dqeva%name, "Reevaporation dQ", "(kg/kg)/s") 1488 CALL histdef3d(iff,clef_stations(iff),o_ptconv%flag,o_ptconv%name, "POINTS CONVECTIFS", " ") 1489 CALL histdef3d(iff,clef_stations(iff),o_ratqs%flag,o_ratqs%name, "RATQS", " ") 1490 CALL histdef3d(iff,clef_stations(iff),o_dtthe%flag,o_dtthe%name, "Thermal dT", "K/s") 1193 1491 1194 1492 if(iflag_thermals.gt.1) THEN 1195 CALL histdef3d(iff,o_f_th%flag,o_f_th%name, "Thermal plume mass flux", "K/s") 1196 CALL histdef3d(iff,o_e_th%flag,o_e_th%name,"Thermal plume entrainment","K/s") 1197 CALL histdef3d(iff,o_w_th%flag,o_w_th%name,"Thermal plume vertical velocity","m/s") 1198 CALL histdef3d(iff,o_lambda_th%flag,o_lambda_th%name,"Thermal plume vertical velocity","m/s") 1199 CALL histdef2d(iff,o_ftime_th%flag,o_ftime_th%name,"Fraction of time Shallow convection occurs"," ") 1200 CALL histdef3d(iff,o_q_th%flag,o_q_th%name, "Thermal plume total humidity", "kg/kg") 1201 CALL histdef3d(iff,o_a_th%flag,o_a_th%name, "Thermal plume fraction", "") 1202 CALL histdef3d(iff,o_d_th%flag,o_d_th%name, "Thermal plume detrainment", "K/s") 1203 !IM endif !iflag_thermals.gt.1 1204 CALL histdef2d(iff,o_f0_th%flag,o_f0_th%name, "Thermal closure mass flux", "K/s") 1205 CALL histdef2d(iff,o_zmax_th%flag,o_zmax_th%name, "Thermal plume height", "K/s") 1206 CALL histdef3d(iff,o_dqthe%flag,o_dqthe%name, "Dry adjust. dQ", "(kg/kg)/s") 1493 CALL histdef3d(iff,clef_stations(iff),o_f_th%flag,o_f_th%name, "Thermal plume mass flux", "kg/(m2*s)") 1494 CALL histdef3d(iff,clef_stations(iff),o_e_th%flag,o_e_th%name,"Thermal plume entrainment","K/s") 1495 CALL histdef3d(iff,clef_stations(iff),o_w_th%flag,o_w_th%name,"Thermal plume vertical velocity","m/s") 1496 CALL histdef3d(iff,clef_stations(iff), & 1497 o_lambda_th%flag,o_lambda_th%name,"Thermal plume vertical velocity","m/s") 1498 CALL histdef2d(iff,clef_stations(iff), & 1499 o_ftime_th%flag,o_ftime_th%name,"Fraction of time Shallow convection occurs"," ") 1500 CALL histdef3d(iff,clef_stations(iff), & 1501 o_q_th%flag,o_q_th%name, "Thermal plume total humidity", "kg/kg") 1502 CALL histdef3d(iff,clef_stations(iff), & 1503 o_a_th%flag,o_a_th%name, "Thermal plume fraction", "") 1504 CALL histdef3d(iff,clef_stations(iff), & 1505 o_d_th%flag,o_d_th%name, "Thermal plume detrainment", "K/s") 1506 1507 CALL histdef2d(iff,clef_stations(iff), & 1508 o_f0_th%flag,o_f0_th%name, "Thermal closure mass flux", "K/s") 1509 CALL histdef2d(iff,clef_stations(iff), & 1510 o_zmax_th%flag,o_zmax_th%name, "Thermal plume height", "K/s") 1511 CALL histdef3d(iff,clef_stations(iff), & 1512 o_dqthe%flag,o_dqthe%name, "Thermal dQ", "(kg/kg)/s") 1207 1513 endif !iflag_thermals.gt.1 1208 CALL histdef3d(iff,o_dtajs%flag,o_dtajs%name, "Dry adjust. dT", "K/s") 1209 CALL histdef3d(iff,o_dqajs%flag,o_dqajs%name, "Dry adjust. dQ", "(kg/kg)/s") 1210 CALL histdef3d(iff,o_dtswr%flag,o_dtswr%name, "SW radiation dT", "K/s") 1211 CALL histdef3d(iff,o_dtsw0%flag,o_dtsw0%name, "CS SW radiation dT", "K/s") 1212 CALL histdef3d(iff,o_dtlwr%flag,o_dtlwr%name, "LW radiation dT", "K/s") 1213 CALL histdef3d(iff,o_dtlw0%flag,o_dtlw0%name, "CS LW radiation dT", "K/s") 1214 CALL histdef3d(iff,o_dtec%flag,o_dtec%name, "Cinetic dissip dT", "K/s") 1215 CALL histdef3d(iff,o_duvdf%flag,o_duvdf%name, "Boundary-layer dU", "m/s2") 1216 CALL histdef3d(iff,o_dvvdf%flag,o_dvvdf%name, "Boundary-layer dV", "m/s2") 1514 CALL histdef3d(iff,clef_stations(iff), & 1515 o_dtajs%flag,o_dtajs%name, "Dry adjust. dT", "K/s") 1516 CALL histdef3d(iff,clef_stations(iff), & 1517 o_dqajs%flag,o_dqajs%name, "Dry adjust. dQ", "(kg/kg)/s") 1518 CALL histdef3d(iff,clef_stations(iff), & 1519 o_dtswr%flag,o_dtswr%name, "SW radiation dT", "K/s") 1520 CALL histdef3d(iff,clef_stations(iff), & 1521 o_dtsw0%flag,o_dtsw0%name, "CS SW radiation dT", "K/s") 1522 CALL histdef3d(iff,clef_stations(iff), & 1523 o_dtlwr%flag,o_dtlwr%name, "LW radiation dT", "K/s") 1524 CALL histdef3d(iff,clef_stations(iff), & 1525 o_dtlw0%flag,o_dtlw0%name, "CS LW radiation dT", "K/s") 1526 CALL histdef3d(iff,clef_stations(iff), & 1527 o_dtec%flag,o_dtec%name, "Cinetic dissip dT", "K/s") 1528 CALL histdef3d(iff,clef_stations(iff), & 1529 o_duvdf%flag,o_duvdf%name, "Boundary-layer dU", "m/s2") 1530 CALL histdef3d(iff,clef_stations(iff), & 1531 o_dvvdf%flag,o_dvvdf%name, "Boundary-layer dV", "m/s2") 1217 1532 1218 1533 IF (ok_orodr) THEN 1219 CALL histdef3d(iff,o_duoro%flag,o_duoro%name, "Orography dU", "m/s2") 1220 CALL histdef3d(iff,o_dvoro%flag,o_dvoro%name, "Orography dV", "m/s2") 1534 CALL histdef3d(iff,clef_stations(iff), & 1535 o_duoro%flag,o_duoro%name, "Orography dU", "m/s2") 1536 CALL histdef3d(iff,clef_stations(iff), & 1537 o_dvoro%flag,o_dvoro%name, "Orography dV", "m/s2") 1538 CALL histdef3d(iff,clef_stations(iff), & 1539 o_dtoro%flag,o_dtoro%name, "Orography dT", "K/s") 1221 1540 ENDIF 1222 1541 1223 1542 IF (ok_orolf) THEN 1224 CALL histdef3d(iff,o_dulif%flag,o_dulif%name, "Orography dU", "m/s2") 1225 CALL histdef3d(iff,o_dvlif%flag,o_dvlif%name, "Orography dV", "m/s2") 1543 CALL histdef3d(iff,clef_stations(iff), & 1544 o_dulif%flag,o_dulif%name, "Orography dU", "m/s2") 1545 CALL histdef3d(iff,clef_stations(iff), & 1546 o_dvlif%flag,o_dvlif%name, "Orography dV", "m/s2") 1547 CALL histdef3d(iff,clef_stations(iff), & 1548 o_dtlif%flag,o_dtlif%name, "Orography dT", "K/s") 1226 1549 ENDIF 1227 1550 1228 1551 IF (ok_hines) then 1229 CALL histdef3d(iff,o_duhin%flag,o_duhin%name, "Hines GWD dU", "m/s2") 1230 CALL histdef3d(iff,o_dvhin%flag,o_dvhin%name, "Hines GWD dV", "m/s2") 1552 CALL histdef3d(iff,clef_stations(iff), & 1553 o_duhin%flag,o_duhin%name, "Hines GWD dU", "m/s2") 1554 CALL histdef3d(iff,clef_stations(iff), & 1555 o_dvhin%flag,o_dvhin%name, "Hines GWD dV", "m/s2") 1556 1557 CALL histdef3d(iff,clef_stations(iff), & 1558 o_dthin%flag,o_dthin%name, "Hines GWD dT", "K/s") 1231 1559 ENDIF 1232 1560 1561 CALL histdef3d(iff,clef_stations(iff), & 1562 o_rsu%flag,o_rsu%name, "SW upward radiation", "W m-2") 1563 CALL histdef3d(iff,clef_stations(iff), & 1564 o_rsd%flag,o_rsd%name, "SW downward radiation", "W m-2") 1565 CALL histdef3d(iff,clef_stations(iff), & 1566 o_rlu%flag,o_rlu%name, "LW upward radiation", "W m-2") 1567 CALL histdef3d(iff,clef_stations(iff), & 1568 o_rld%flag,o_rld%name, "LW downward radiation", "W m-2") 1569 1570 CALL histdef3d(iff,clef_stations(iff), & 1571 o_rsucs%flag,o_rsucs%name, "SW CS upward radiation", "W m-2") 1572 CALL histdef3d(iff,clef_stations(iff), & 1573 o_rsdcs%flag,o_rsdcs%name, "SW CS downward radiation", "W m-2") 1574 CALL histdef3d(iff,clef_stations(iff), & 1575 o_rlucs%flag,o_rlucs%name, "LW CS upward radiation", "W m-2") 1576 CALL histdef3d(iff,clef_stations(iff), & 1577 o_rldcs%flag,o_rldcs%name, "LW CS downward radiation", "W m-2") 1578 1579 CALL histdef3d(iff,clef_stations(iff), & 1580 o_tnt%flag,o_tnt%name, "Tendency of air temperature", "K s-1") 1581 1582 CALL histdef3d(iff,clef_stations(iff), & 1583 o_tntc%flag,o_tntc%name, "Tendency of air temperature due to Moist Convection", & 1584 "K s-1") 1585 1586 CALL histdef3d(iff,clef_stations(iff), & 1587 o_tntr%flag,o_tntr%name, "Air temperature tendency due to Radiative heating", & 1588 "K s-1") 1589 1590 CALL histdef3d(iff,clef_stations(iff), & 1591 o_tntscpbl%flag,o_tntscpbl%name, "Air temperature tendency due to St cloud and precipitation and BL mixing", & 1592 "K s-1") 1593 1594 CALL histdef3d(iff,clef_stations(iff), & 1595 o_tnhus%flag,o_tnhus%name, "Tendency of specific humidity", "s-1") 1596 1597 CALL histdef3d(iff,clef_stations(iff), & 1598 o_tnhusc%flag,o_tnhusc%name, "Tendency of specific humidity due to convection", "s-1") 1599 1600 CALL histdef3d(iff,clef_stations(iff), & 1601 o_tnhusscpbl%flag,o_tnhusscpbl%name, "Tendency of Specific humidity due to ST cl, precip and BL mixing", & 1602 "s-1") 1603 1604 CALL histdef3d(iff,clef_stations(iff), & 1605 o_evu%flag,o_evu%name, "Eddy viscosity coefficient for Momentum Variables", "m2 s-1") 1606 1607 CALL histdef3d(iff,clef_stations(iff), & 1608 o_h2o%flag,o_h2o%name, "Mass Fraction of Water", "1") 1609 1610 CALL histdef3d(iff,clef_stations(iff), & 1611 o_mcd%flag,o_mcd%name, "Downdraft COnvective Mass Flux", "kg/(m2*s)") 1612 1613 CALL histdef3d(iff,clef_stations(iff), & 1614 o_dmc%flag,o_dmc%name, "Deep COnvective Mass Flux", "kg/(m2*s)") 1615 1616 CALL histdef3d(iff,clef_stations(iff), & 1617 o_ref_liq%flag,o_ref_liq%name, "Effective radius of convective cloud liquid water particle", "m") 1618 1619 CALL histdef3d(iff,clef_stations(iff), & 1620 o_ref_ice%flag,o_ref_ice%name, "Effective radius of startiform cloud ice particle", "m") 1621 1622 if (RCO2_per.NE.RCO2_act.OR.RCH4_per.NE.RCH4_act.OR. & 1623 RN2O_per.NE.RN2O_act.OR.RCFC11_per.NE.RCFC11_act.OR. & 1624 RCFC12_per.NE.RCFC12_act) THEN 1625 1626 CALL histdef2d(iff,clef_stations(iff),o_rsut4co2%flag,o_rsut4co2%name, & 1627 "TOA Out SW in 4xCO2 atmosphere", "W/m2") 1628 CALL histdef2d(iff,clef_stations(iff),o_rlut4co2%flag,o_rlut4co2%name, & 1629 "TOA Out LW in 4xCO2 atmosphere", "W/m2") 1630 CALL histdef2d(iff,clef_stations(iff),o_rsutcs4co2%flag,o_rsutcs4co2%name, & 1631 "TOA Out CS SW in 4xCO2 atmosphere", "W/m2") 1632 CALL histdef2d(iff,clef_stations(iff),o_rlutcs4co2%flag,o_rlutcs4co2%name, & 1633 "TOA Out CS LW in 4xCO2 atmosphere", "W/m2") 1634 1635 CALL histdef3d(iff,clef_stations(iff),o_rsu4co2%flag,o_rsu4co2%name, & 1636 "Upwelling SW 4xCO2 atmosphere", "W/m2") 1637 CALL histdef3d(iff,clef_stations(iff),o_rlu4co2%flag,o_rlu4co2%name, & 1638 "Upwelling LW 4xCO2 atmosphere", "W/m2") 1639 CALL histdef3d(iff,clef_stations(iff),o_rsucs4co2%flag,o_rsucs4co2%name, & 1640 "Upwelling CS SW 4xCO2 atmosphere", "W/m2") 1641 CALL histdef3d(iff,clef_stations(iff),o_rlucs4co2%flag,o_rlucs4co2%name, & 1642 "Upwelling CS LW 4xCO2 atmosphere", "W/m2") 1643 1644 CALL histdef3d(iff,clef_stations(iff),o_rsd4co2%flag,o_rsd4co2%name, & 1645 "Downwelling SW 4xCO2 atmosphere", "W/m2") 1646 CALL histdef3d(iff,clef_stations(iff),o_rld4co2%flag,o_rld4co2%name, & 1647 "Downwelling LW 4xCO2 atmosphere", "W/m2") 1648 CALL histdef3d(iff,clef_stations(iff),o_rsdcs4co2%flag,o_rsdcs4co2%name, & 1649 "Downwelling CS SW 4xCO2 atmosphere", "W/m2") 1650 CALL histdef3d(iff,clef_stations(iff),o_rldcs4co2%flag,o_rldcs4co2%name, & 1651 "Downwelling CS LW 4xCO2 atmosphere", "W/m2") 1652 1653 endif 1233 1654 1234 1655 !Attention : sorties uniquement pour traceurs 3 et 4 … … 1238 1659 ttext(3)= "Age stratospheric air" 1239 1660 END IF 1240 CALL histdef3d (iff, o_trac(1)%flag,o_trac(1)%name,ttext(3), "-" )1661 CALL histdef3d(iff,clef_stations(iff), o_trac(1)%flag,o_trac(1)%name,ttext(3), "-" ) 1241 1662 END IF 1242 1663 1243 IF (nqtot>=4) CALL histdef3d (iff, o_trac(2)%flag,o_trac(2)%name,ttext(4), "-" )1664 IF (nqtot>=4) CALL histdef3d(iff,clef_stations(iff), o_trac(2)%flag,o_trac(2)%name,ttext(4), "-" ) 1244 1665 1245 1666 … … 1255 1676 end subroutine phys_output_open 1256 1677 1257 SUBROUTINE histdef2d (iff, flag_var,nomvar,titrevar,unitvar)1678 SUBROUTINE histdef2d (iff,lpoint,flag_var,nomvar,titrevar,unitvar) 1258 1679 1259 1680 use ioipsl 1260 1681 USE dimphy 1261 1682 USE mod_phys_lmdz_para 1683 USE iophy 1262 1684 1263 1685 IMPLICIT NONE … … 1269 1691 1270 1692 integer :: iff 1693 logical :: lpoint 1271 1694 integer, dimension(nfiles) :: flag_var 1272 1695 character(len=20) :: nomvar … … 1284 1707 ! Appel a la lecture des noms et niveau d'ecriture des variables dans output.def 1285 1708 call conf_physoutputs(nomvar,flag_var) 1286 1709 1710 if(.NOT.lpoint) THEN 1287 1711 if ( flag_var(iff)<=lev_files(iff) ) then 1288 1712 call histdef (nid_files(iff),nomvar,titrevar,unitvar, & … … 1290 1714 type_ecri(iff), zstophym,zoutm(iff)) 1291 1715 endif 1716 else 1717 if ( flag_var(iff)<=lev_files(iff) ) then 1718 call histdef (nid_files(iff),nomvar,titrevar,unitvar, & 1719 npstn,1,nhorim(iff), 1,1,1, -99, 32, & 1720 type_ecri(iff), zstophym,zoutm(iff)) 1721 endif 1722 endif 1292 1723 end subroutine histdef2d 1293 1724 1294 SUBROUTINE histdef3d (iff, flag_var,nomvar,titrevar,unitvar)1725 SUBROUTINE histdef3d (iff,lpoint,flag_var,nomvar,titrevar,unitvar) 1295 1726 1296 1727 use ioipsl 1297 1728 USE dimphy 1298 1729 USE mod_phys_lmdz_para 1730 USE iophy 1299 1731 1300 1732 IMPLICIT NONE … … 1306 1738 1307 1739 integer :: iff 1740 logical :: lpoint 1308 1741 integer, dimension(nfiles) :: flag_var 1309 1742 character(len=20) :: nomvar … … 1322 1755 endif 1323 1756 1757 if(.NOT.lpoint) THEN 1324 1758 if ( flag_var(iff)<=lev_files(iff) ) then 1325 1759 call histdef (nid_files(iff), nomvar, titrevar, unitvar, & … … 1327 1761 levmax(iff)-levmin(iff)+1, nvertm(iff), 32, type_ecri(iff), & 1328 1762 zstophym, zoutm(iff)) 1763 endif 1764 else 1765 if ( flag_var(iff)<=lev_files(iff) ) then 1766 call histdef (nid_files(iff), nomvar, titrevar, unitvar, & 1767 npstn,1,nhorim(iff), klev, levmin(iff), & 1768 levmax(iff)-levmin(iff)+1, nvertm(iff), 32, & 1769 type_ecri(iff), zstophym,zoutm(iff)) 1770 endif 1329 1771 endif 1330 1772 end subroutine histdef3d
Note: See TracChangeset
for help on using the changeset viewer.