Changeset 3285 for trunk


Ignore:
Timestamp:
Mar 28, 2024, 9:54:07 AM (8 months ago)
Author:
evos
Message:

small changes in the subsufrace lag model.
summing the small subtimestep instead of the ptimestep
and setting zqsurf to 0 if we remove the ice from the surface.
changing the interaction with frost threshold to 2 microns.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.MARS/libf/phymars/vdifc_mod.F

    r3273 r3285  
    247247      REAL zdqsdif_ssi_tot(ngrid,nslope)       ! Total flux of the interactions with SSI kg/m^2/s^-1)
    248248     
    249       REAL :: tol_frost = 1e-4 ! tolerence for frost thicnkess (kg/m^2) to avoid numerical noise effect
     249      REAL :: tol_frost = 2e-3 ! tolerence for frost thicnkess (kg/m^2) to avoid numerical noise effect
    250250c    ** un petit test de coherence
    251251c       --------------------------
     
    11201120     
    11211121                    zdqsdif_tot(ig)=-zqsurf(ig)/subtimestep
    1122 !                    zqsurf(ig) = 0
    11231122                    if((h2o_ice_depth(ig,islope).gt.0)
    11241123     &                  .and.lag_layer) then
    11251124                  ! Atm <-> subsurface exchange, we need to update the exchange coefficient zb by a factor 1/1+R; R = zice*Cd,h*/D and add the flux from the subsurface
    1126                  
     1125                         zqsurf(ig) = 0
    11271126                         if(old_wsublimation_scheme) then
    11281127                            resist(ig,islope)=h2o_ice_depth(ig,islope)
     
    11461145                         qsat_ssi(ig,islope)=ztsrf(ig)/Tice(ig,islope)
    11471146     &                                       *qsat_ssi(ig,islope)
    1148                   ! Flux from the subsurface     
    1149                         if(old_wsublimation_scheme) then
    1150                            zdqsdif_ssi_atm(ig,islope)=rho(ig)
    1151      &                     *dryness(ig)*zcdv(ig,islope)
    1152      &                     *1/(1+resist(ig,islope))   
    1153      &                     *(zq1temp(ig)-qsat_ssi(ig,islope))
    1154                         else
    1155                            zdqsdif_ssi_atm(ig,islope)=rho(ig)*
    1156      &                     *dryness(ig) *zcdh(ig,islope)
    1157      &                     *1/(1+resist(ig,islope))   
    1158      &                     *(zq1temp(ig)-qsat_ssi(ig,islope))                         
    1159                         endif
     1147     
    11601148                  ! And now we solve correctly the system     
    11611149                        z1(ig)=1./(za(ig,1)+zb(ig,1)+
     
    12671255              zdqsdif_ssi_atm_tot(ig,islope) =
    12681256     &                              zdqsdif_ssi_atm_tot(ig,islope)
    1269      &                            + zdqsdif_ssi_atm(ig,islope)
     1257     &                     + zdqsdif_ssi_atm(ig,islope)*subtimestep
    12701258              zdqsdif_ssi_frost_tot(ig,islope) =
    12711259     &                                zdqsdif_ssi_frost_tot(ig,islope)
    1272      &                              + zdqsdif_ssi_frost(ig,islope)
     1260     &                     +zdqsdif_ssi_frost(ig,islope)*subtimestep
    12731261c             Monitoring instantaneous latent heat flux in W.m-2 :
    12741262              zsurf_h2o_lh(ig,islope) = zsurf_h2o_lh(ig,islope)+
     
    12991287     &                       /ptimestep
    13001288     
    1301             zdqsdif_ssi_tot(ig,islope) =
     1289            zdqsdif_ssi_atm_tot(ig,islope)=
     1290     &           zdqsdif_ssi_atm_tot(ig,islope)/ptimestep
     1291            zdqsdif_ssi_frost_tot(ig,islope)=
     1292     &           zdqsdif_ssi_frost_tot(ig,islope)/ptimestep
     1293                   zdqsdif_ssi_tot(ig,islope) =
    13021294     &                        zdqsdif_ssi_atm_tot(ig,islope)
    13031295     &                      + zdqsdif_ssi_frost_tot(ig,islope)
Note: See TracChangeset for help on using the changeset viewer.