- Timestamp:
- Mar 25, 2021, 7:01:21 PM (4 years ago)
- Location:
- trunk/LMDZ.GENERIC
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.GENERIC/README
r2484 r2485 1641 1641 Small fix on the reading/initialisation of Non orographic GW related fields 1642 1642 loaded by lect_start_archive 1643 1644 == 25/03/2021 == GC 1645 Move some variables defined in physiq to phys_state_var_mod where they are now 1646 allocated and saved, which is important as they may not be filled or computed 1647 at every physics time step (e.g. when radiative transfert is not called). -
trunk/LMDZ.GENERIC/libf/phystd/phys_state_var_mod.F90
r2299 r2485 29 29 real, dimension(:,:),allocatable,save :: albedo ! Surface Spectral albedo. By MT2015. 30 30 real, dimension(:),allocatable,save :: albedo_equivalent ! Spectral Mean albedo. 31 real, dimension(:),allocatable,save :: albedo_equivalent1 ! Spectral Mean albedo clear sky. 31 32 real, dimension(:),allocatable,save :: albedo_snow_SPECTV ! Snow Spectral albedo. 32 33 real, dimension(:),allocatable,save :: albedo_co2_ice_SPECTV ! CO2 ice Spectral albedo. 33 !$OMP THREADPRIVATE(tsurf,tsoil,albedo,albedo_equivalent,albedo_ snow_SPECTV,albedo_co2_ice_SPECTV)34 !$OMP THREADPRIVATE(tsurf,tsoil,albedo,albedo_equivalent,albedo_equivalent1,albedo_snow_SPECTV,albedo_co2_ice_SPECTV) 34 35 35 36 real,dimension(:),allocatable,save :: albedo_bareground ! Bare Ground Albedo. By MT 2015. … … 49 50 50 51 real,dimension(:),allocatable,save :: fluxsurf_lw ! Incident Long Wave (IR) surface flux (W.m-2). 52 real,dimension(:),allocatable,save :: fluxsurf_lw1 ! Incident Long Wave (IR) surface flux (W.m-2) clear sky. 51 53 real,dimension(:),allocatable,save :: fluxsurf_sw ! Incident Short Wave (stellar) surface flux (W.m-2). 54 real,dimension(:),allocatable,save :: fluxsurf_sw1 ! Incident Short Wave (stellar) surface flux (W.m-2) clear sky. 52 55 real,dimension(:),allocatable,save :: fluxsurfabs_sw ! Absorbed Short Wave (stellar) flux by the surface (W.m-2). 53 !$OMP THREADPRIVATE(fluxsurf_lw,fluxsurf_ sw,fluxsurfabs_sw)56 !$OMP THREADPRIVATE(fluxsurf_lw,fluxsurf_lw1,fluxsurf_sw,fluxsurf_sw1,fluxsurfabs_sw) 54 57 55 58 real,dimension(:),allocatable,save :: fluxtop_lw ! Outgoing LW (IR) flux to space (W.m-2). 59 real,dimension(:),allocatable,save :: fluxtop_lw1 ! Outgoing LW (IR) flux to space (W.m-2) clear sky. 56 60 real,dimension(:),allocatable,save :: fluxabs_sw ! Absorbed SW (stellar) flux (W.m-2). 61 real,dimension(:),allocatable,save :: fluxabs_sw1 ! Absorbed SW (stellar) flux (W.m-2) clear sky. 57 62 real,dimension(:),allocatable,save :: fluxtop_dn ! Incoming SW (stellar) radiation at the top of the atmosphere (W.m-2). 58 63 real,dimension(:),allocatable,save :: fluxdyn ! Horizontal heat transport by dynamics (W.m-2). 59 !$OMP THREADPRIVATE(fluxtop_lw,flux abs_sw,fluxtop_dn,fluxdyn)64 !$OMP THREADPRIVATE(fluxtop_lw,fluxtop_lw1,fluxabs_sw,fluxabs_sw1,fluxtop_dn,fluxdyn) 60 65 61 66 real,dimension(:,:),allocatable,save :: OLR_nu ! Outgoing LW radiation in each band (Normalized to the band width (W/m2/cm-1)). … … 86 91 !$OMP THREADPRIVATE(ice_initial,ice_min) 87 92 88 real, 89 real, dimension(:,:),allocatable,save :: tslab90 real, dimension(:),allocatable,save :: tsea_ice91 real, 92 real, 93 integer, 93 real,dimension(:),allocatable,save :: pctsrf_sic 94 real,dimension(:,:),allocatable,save :: tslab ! Slab_ocean temperature (K) 95 real,dimension(:),allocatable,save :: tsea_ice ! Sea ice temperature (K) 96 real,dimension(:),allocatable,save :: sea_ice 97 real,dimension(:),allocatable,save :: zmasq 98 integer,dimension(:),allocatable,save ::knindex 94 99 real,allocatable,dimension(:,:,:),save :: reffrad 95 !$OMP THREADPRIVATE(pctsrf_sic,tslab,tsea_ice,sea_ice,zmasq,knindex,reffrad) 100 real,dimension(:), allocatable,save :: fluxgrdocean ! Surface conduction flux (W.m-2) with slab_ocean. 101 !$OMP THREADPRIVATE(pctsrf_sic,tslab,tsea_ice,sea_ice,zmasq,knindex,reffrad,fluxgrdocean) 102 103 real,dimension(:,:),allocatable,save :: dEzdiff ! Turbulent diffusion heating (W.m-2) 104 real,dimension(:),allocatable,save :: dEdiff ! Integrated turbulent diffusion heating (W.m-2) 105 real,dimension(:),allocatable,save :: dEdiffs 106 real,dimension(:,:),allocatable,save :: dEzRadsw ! Radiative heating (W.m-2) 107 real,dimension(:,:),allocatable,save :: dEzRadlw ! Radiative heating (W.m-2) 108 !$OMP THREADPRIVATE(dEzdiff,dEzdiffs,dEzRadsw,dEzRadlw) 109 110 real,dimension(:),allocatable,save :: madjdE ! Heat from moistadj (W.m-2) 111 real,dimension(:,:),allocatable,save :: madjdEz ! Heat from moistadj (W.m-2) 112 real,dimension(:),allocatable,save :: lscaledE ! Heat from largescale (W.m-2) 113 real,dimension(:,:),allocatable,save :: lscaledEz ! Heat from largescale (W.m-2) 114 !$OMP THREADPRIVATE(madjdE,madjdEz,lscaledE,lscaledEz) 115 116 real,dimension(:),allocatable,save :: H2Omaxcol ! Maximum possible H2O column amount (at 100% saturation) (kg.m-2). 117 !$OMP THREADPRIVATE(H2Omaxcol) 96 118 97 119 CONTAINS … … 114 136 !zval(:) ! Minimum de l'OESM 115 137 !rugoro(:) ! longueur de rugosite de l'OESM 116 print*,'klon',klon,'klev',klev 138 117 139 ALLOCATE(phisfi(klon)) 118 140 ALLOCATE(tsurf(klon)) … … 120 142 ALLOCATE(albedo(klon,L_NSPECTV)) 121 143 ALLOCATE(albedo_equivalent(klon)) 144 ALLOCATE(albedo_equivalent1(klon)) 122 145 ALLOCATE(albedo_snow_SPECTV(L_NSPECTV)) 123 146 ALLOCATE(albedo_co2_ice_SPECTV(L_NSPECTV)) … … 130 153 ALLOCATE(capcal(klon)) 131 154 ALLOCATE(fluxgrd(klon)) 155 ALLOCATE(fluxgrdocean(klon)) 132 156 ALLOCATE(qsurf(klon,nqtot)) 133 157 ALLOCATE(q2(klon,klev+1)) … … 143 167 ALLOCATE(ice_min(klon)) 144 168 ALLOCATE(fluxsurf_lw(klon)) 169 ALLOCATE(fluxsurf_lw1(klon)) 145 170 ALLOCATE(fluxsurf_sw(klon)) 171 ALLOCATE(fluxsurf_sw1(klon)) 146 172 ALLOCATE(fluxsurfabs_sw(klon)) 147 173 ALLOCATE(fluxtop_lw(klon)) 174 ALLOCATE(fluxtop_lw1(klon)) 148 175 ALLOCATE(fluxabs_sw(klon)) 176 ALLOCATE(fluxabs_sw1(klon)) 149 177 ALLOCATE(fluxtop_dn(klon)) 150 178 ALLOCATE(fluxdyn(klon)) … … 163 191 ALLOCATE(zmasq(klon)) 164 192 ALLOCATE(knindex(klon)) 193 ALLOCATE(dEzdiff(klon,klev)) 194 ALLOCATE(dEdiff(klon)) 195 ALLOCATE(dEdiffs(klon)) 196 ALLOCATE(dEzRadsw(klon,klev)) 197 ALLOCATE(dEzRadlw(klon,klev)) 198 ALLOCATE(madjdE(klon)) 199 ALLOCATE(madjdEz(klon,klev)) 200 ALLOCATE(lscaledE(klon)) 201 ALLOCATE(lscaledEz(klon,klev)) 202 ALLOCATE(H2Omaxcol(klon)) 165 203 ! This is defined in comsaison_h 166 204 ALLOCATE(mu0(klon)) … … 193 231 DEALLOCATE(albedo) 194 232 DEALLOCATE(albedo_equivalent) 233 DEALLOCATE(albedo_equivalent1) 195 234 DEALLOCATE(albedo_snow_SPECTV) 196 235 DEALLOCATE(albedo_co2_ice_SPECTV) … … 204 243 205 244 DEALLOCATE(fluxgrd) 245 DEALLOCATE(fluxgrdocean) 206 246 DEALLOCATE(qsurf) 207 247 DEALLOCATE(q2) … … 217 257 DEALLOCATE(ice_min) 218 258 DEALLOCATE(fluxsurf_lw) 259 DEALLOCATE(fluxsurf_lw1) 219 260 DEALLOCATE(fluxsurf_sw) 261 DEALLOCATE(fluxsurf_sw1) 220 262 DEALLOCATE(fluxsurfabs_sw) 221 263 DEALLOCATE(fluxtop_lw) 264 DEALLOCATE(fluxtop_lw1) 222 265 DEALLOCATE(fluxabs_sw) 266 DEALLOCATE(fluxabs_sw1) 223 267 DEALLOCATE(fluxtop_dn) 224 268 DEALLOCATE(fluxdyn) … … 237 281 DEALLOCATE(zmasq) 238 282 DEALLOCATE(knindex) 283 DEALLOCATE(dEzdiff) 284 DEALLOCATE(dEdiff) 285 DEALLOCATE(dEdiffs) 286 DEALLOCATE(dEzRadsw) 287 DEALLOCATE(dEzRadlw) 288 DEALLOCATE(madjdE) 289 DEALLOCATE(madjdEz) 290 DEALLOCATE(lscaledE) 291 DEALLOCATE(lscaledEz) 292 DEALLOCATE(H2Omaxcol) 239 293 DEALLOCATE(mu0) 240 294 DEALLOCATE(fract) -
trunk/LMDZ.GENERIC/libf/phystd/physiq_mod.F90
r2470 r2485 383 383 real,save :: dEtotSW, dEtotsSW, dEtotLW, dEtotsLW 384 384 !$OMP THREADPRIVATE(dEtotSW, dEtotsSW, dEtotLW, dEtotsLW) 385 real dEzRadsw(ngrid,nlayer),dEzRadlw(ngrid,nlayer),dEzdiff(ngrid,nlayer)386 real dEdiffs(ngrid),dEdiff(ngrid)387 real madjdE(ngrid), lscaledE(ngrid),madjdEz(ngrid,nlayer), lscaledEz(ngrid,nlayer)388 385 389 386 !JL12 conservation test for mean flow kinetic energy has been disabled temporarily … … 401 398 real qsat(ngrid,nlayer) ! Water Vapor Volume Mixing Ratio at saturation (kg/kg_of_air). 402 399 real RH(ngrid,nlayer) ! Relative humidity. 403 real H2Omaxcol(ngrid) ! Maximum possible H2O column amount (at 100% saturation) (kg/m2).404 400 real psat_tmp 405 401 … … 407 403 408 404 ! For Clear Sky Case. 409 real fluxsurf_lw1(ngrid), fluxsurf_sw1(ngrid), fluxsurfabs_sw1(ngrid) ! For SW/LW flux. 410 real fluxtop_lw1(ngrid), fluxabs_sw1(ngrid) ! For SW/LW flux. 411 real albedo_equivalent1(ngrid) ! For Equivalent albedo calculation. 405 real fluxsurfabs_sw1(ngrid) ! For SW/LW flux. 412 406 real tau_col1(ngrid) ! For aerosol optical depth diagnostic. 413 407 real OLR_nu1(ngrid,L_NSPECTI), OSR_nu1(ngrid,L_NSPECTV) ! For Outgoing Radiation diagnostics. … … 433 427 434 428 real :: tsurf2(ngrid) 435 real :: flux_o(ngrid),flux_g(ngrid) ,fluxgrdocean(ngrid)429 real :: flux_o(ngrid),flux_g(ngrid) 436 430 real :: flux_sens_lat(ngrid) 437 431 real :: qsurfint(ngrid,nq)
Note: See TracChangeset
for help on using the changeset viewer.