Ignore:
Timestamp:
May 12, 2020, 11:51:22 AM (5 years ago)
Author:
lrossi
Message:

Mars GCM:
Fixing some errors in vdifc_mod related to variable watercap. This variable was also integrated to the hdo cycle.
Also added watercap output for the 1D model.
LR

File:
1 edited

Legend:

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

    r2312 r2316  
    835835            CALL hdo_surfex(ngrid,nlay,nq,ptimestep,
    836836     &                      zt,zq,pqsurf,
    837      &                      old_h2o_vap,pdqsdif,h2oflux,
     837     &                      old_h2o_vap,pdqsdif,dwatercap_dif,
    838838     &                      hdoflux)
    839839            DO ig=1,ngrid
     
    879879                if(watercaptag(ig)) then
    880880c              dwatercap_dif same sign as pdqsdif (pos. toward ground)
    881                    dwatercap_dif(ig) = -pdqsdif(ig,igcm_h2o_ice)
    882      &                         - pqsurf(ig,igcm_h2o_ice)/ptimestep
     881                   dwatercap_dif(ig) = pdqsdif(ig,igcm_h2o_ice)
     882     &                         + pqsurf(ig,igcm_h2o_ice)/ptimestep
    883883                   pdqsdif(ig,igcm_h2o_ice)=
    884884     &                         -pqsurf(ig,igcm_h2o_ice)/ptimestep
     
    892892                   endif
    893893
    894                 endif   
    895894c                 write(*,*)'flux vers le sol=',pdqsdif(ig,nq)
    896895                  z1(ig)=1./(za(ig,1)+ zb(ig,2)*(1.-zd(ig,2)))
    897896                  zc(ig,1)=(za(ig,1)*zq(ig,1,igcm_h2o_vap)+
    898      $            zb(ig,2)*zc(ig,2) + (dwatercap_dif(ig)-
    899 c     $            zb(ig,2)*zc(ig,2) + (-
    900      $            pdqsdif(ig,igcm_h2o_ice)) *ptimestep) *z1(ig)
     897     $            zb(ig,2)*zc(ig,2) +
     898     $              (-pdqsdif(ig,igcm_h2o_ice)) *ptimestep) *z1(ig)
    901899                  zq1temp(ig)=zc(ig,1)
    902               endif ! if (.not.watercaptag(ig))
     900                endif  !if .not.watercaptag(ig)
     901              endif ! if sublim more than surface
     902
    903903c             Starting upward calculations for water :
    904904              zq(ig,1,igcm_h2o_vap)=zq1temp(ig)
     
    925925
    926926               if(pqsurf(ig,igcm_h2o_ice)
    927      &           +(dwatercap_dif(ig)+pdqsdif(ig,igcm_h2o_ice))*ptimestep
     927     &           +pdqsdif(ig,igcm_h2o_ice)*ptimestep
    928928     &           .gt.frost_albedo_threshold) ! if there is still ice, T cannot exceed To
    929929     &           pdtsrf(ig) = min(pdtsrf(ig),(To-ptsrf(ig))/ptimestep) ! ice melt case
Note: See TracChangeset for help on using the changeset viewer.