Ignore:
Timestamp:
Apr 25, 2025, 2:21:02 PM (2 months ago)
Author:
amaison
Message:

Representation of heterogeneous continental subsurfaces with parameter or flux aggregation in the simplified surface model (bucket) for 1D case studies.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified LMDZ6/trunk/libf/phylmd/phys_state_var_mod.F90

    r5569 r5627  
    1010! Declaration des variables
    1111      USE dimphy
     12      USE dimsoil_mod_h, ONLY: nsoilmx
    1213      USE netcdf, only: nf90_fill_real
    1314      INTEGER, PARAMETER :: nlevSTD=17
     
    3940      REAL, ALLOCATABLE, SAVE :: treedrg(:,:,:)
    4041!$OMP THREADPRIVATE(treedrg)
     42!AM land surface heterogeneities
     43      REAL, SAVE :: alpha_soil_tersrf
     44!$OMP THREADPRIVATE(alpha_soil_tersrf)
     45      REAL, SAVE :: period_tersrf
     46!$OMP THREADPRIVATE(period_tersrf)
     47      REAL, ALLOCATABLE, SAVE :: frac_tersrf(:,:)
     48!$OMP THREADPRIVATE(frac_tersrf)
     49      REAL, ALLOCATABLE, SAVE :: z0m_tersrf(:,:)
     50!$OMP THREADPRIVATE(z0m_tersrf)
     51      REAL, ALLOCATABLE, SAVE :: ratio_z0m_z0h_tersrf(:,:)
     52!$OMP THREADPRIVATE(ratio_z0m_z0h_tersrf)
     53      REAL, ALLOCATABLE, SAVE :: albedo_tersrf(:,:)
     54!$OMP THREADPRIVATE(albedo_tersrf)
     55      REAL, ALLOCATABLE, SAVE :: beta_tersrf(:,:)
     56!$OMP THREADPRIVATE(beta_tersrf)
     57      REAL, ALLOCATABLE, SAVE :: inertie_tersrf(:,:)
     58!$OMP THREADPRIVATE(inertie_tersrf)
     59      REAL, ALLOCATABLE, SAVE :: hcond_tersrf(:,:)
     60!$OMP THREADPRIVATE(hcond_tersrf)
     61      REAL, ALLOCATABLE, SAVE :: tsurfi_tersrf(:,:)
     62!$OMP THREADPRIVATE(tsurfi_tersrf)
     63      REAL, ALLOCATABLE, SAVE :: tsoili_tersrf(:,:,:)
     64!$OMP THREADPRIVATE(tsoili_tersrf)
     65      REAL, ALLOCATABLE, SAVE :: tsoil_depth(:,:,:)
     66!$OMP THREADPRIVATE(tsoil_depth)
     67      REAL, ALLOCATABLE, SAVE :: tsurf_tersrf(:,:)
     68!$OMP THREADPRIVATE(tsurf_tersrf)
     69     REAL, ALLOCATABLE, SAVE :: tsoil_tersrf(:,:,:)
     70!$OMP THREADPRIVATE(tsoil_tersrf)
     71      REAL, ALLOCATABLE, SAVE :: qsurf_tersrf(:,:)
     72!$OMP THREADPRIVATE(qsurf_tersrf)
     73      REAL, ALLOCATABLE, SAVE :: tsurf_new_tersrf(:,:)
     74!$OMP THREADPRIVATE(tsurf_new_tersrf)
     75      REAL, ALLOCATABLE, SAVE :: cdragm_tersrf(:,:)
     76!$OMP THREADPRIVATE(cdragm_tersrf)
     77      REAL, ALLOCATABLE, SAVE :: cdragh_tersrf(:,:)
     78!$OMP THREADPRIVATE(cdragh_tersrf)
     79      REAL, ALLOCATABLE, SAVE :: swnet_tersrf(:,:)
     80!$OMP THREADPRIVATE(swnet_tersrf)
     81      REAL, ALLOCATABLE, SAVE :: lwnet_tersrf(:,:)
     82!$OMP THREADPRIVATE(lwnet_tersrf)
     83      REAL, ALLOCATABLE, SAVE :: fluxsens_tersrf(:,:)
     84!$OMP THREADPRIVATE(fluxsens_tersrf)
     85      REAL, ALLOCATABLE, SAVE :: fluxlat_tersrf(:,:)
     86!$OMP THREADPRIVATE(fluxlat_tersrf)
    4187
    4288!      character(len=6), SAVE :: ocean
     
    563609!FC
    564610      ALLOCATE(treedrg(klon,klev,nbsrf))
     611!AM
     612      ALLOCATE(frac_tersrf(klon,nbtersrf))
     613      ALLOCATE(z0m_tersrf(klon,nbtersrf))
     614      ALLOCATE(ratio_z0m_z0h_tersrf(klon,nbtersrf))
     615      ALLOCATE(albedo_tersrf(klon,nbtersrf))
     616      ALLOCATE(beta_tersrf(klon,nbtersrf))
     617      ALLOCATE(inertie_tersrf(klon,nbtersrf))
     618      ALLOCATE(hcond_tersrf(klon,nbtersrf))
     619      ALLOCATE(tsurfi_tersrf(klon,nbtersrf))
     620      ALLOCATE(tsoili_tersrf(klon,nbtsoildepths,nbtersrf))
     621      ALLOCATE(tsoil_depth(klon,nbtsoildepths,nbtersrf))
     622      ALLOCATE(tsurf_tersrf(klon,nbtersrf))
     623      ALLOCATE(tsoil_tersrf(klon,nsoilmx,nbtersrf))
     624      ALLOCATE(qsurf_tersrf(klon,nbtersrf))
     625      ALLOCATE(tsurf_new_tersrf(klon,nbtersrf))
     626      ALLOCATE(cdragm_tersrf(klon,nbtersrf))
     627      ALLOCATE(cdragh_tersrf(klon,nbtersrf))
     628      ALLOCATE(swnet_tersrf(klon,nbtersrf))
     629      ALLOCATE(lwnet_tersrf(klon,nbtersrf))
     630      ALLOCATE(fluxsens_tersrf(klon,nbtersrf))
     631      ALLOCATE(fluxlat_tersrf(klon,nbtersrf))
     632
    565633      ALLOCATE(falb1(klon,nbsrf))
    566634      ALLOCATE(falb2(klon,nbsrf))
     
    806874!FC
    807875      DEALLOCATE(treedrg)
     876!AM
     877      DEALLOCATE(frac_tersrf)
     878      DEALLOCATE(z0m_tersrf)
     879      DEALLOCATE(ratio_z0m_z0h_tersrf)
     880      DEALLOCATE(albedo_tersrf)
     881      DEALLOCATE(beta_tersrf)
     882      DEALLOCATE(inertie_tersrf)
     883      DEALLOCATE(hcond_tersrf)
     884      DEALLOCATE(tsurfi_tersrf)
     885      DEALLOCATE(tsoili_tersrf)
     886      DEALLOCATE(tsoil_depth)
     887      DEALLOCATE(tsurf_tersrf)
     888      DEALLOCATE(tsoil_tersrf)
     889      DEALLOCATE(qsurf_tersrf)
     890      DEALLOCATE(tsurf_new_tersrf)
     891      DEALLOCATE(cdragm_tersrf)
     892      DEALLOCATE(cdragh_tersrf)
     893      DEALLOCATE(swnet_tersrf)
     894      DEALLOCATE(lwnet_tersrf)
     895      DEALLOCATE(fluxsens_tersrf)
     896      DEALLOCATE(fluxlat_tersrf)
    808897      DEALLOCATE(rain_fall, snow_fall, bs_fall,solsw, solswfdiff, sollw, radsol, swradcorr)
    809898      DEALLOCATE(zmea, zstd, zsig, zgam)
Note: See TracChangeset for help on using the changeset viewer.