Ignore:
Timestamp:
Sep 1, 2022, 5:22:23 PM (2 years ago)
Author:
jnaar
Message:

Minor change of 1d flag "atm_wat_profile" which can now be used to prescribe directly the desired MMR profile for water vapor. JN

File:
1 edited

Legend:

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

    r2789 r2790  
    131131      Logical paleomars
    132132c   JN : Force atmospheric water profiles
    133       INTEGER atm_wat_profile
     133      REAL atm_wat_profile
    134134      REAL,ALLOCATABLE :: zqsat(:) ! useful for (atm_wat_profile=2)
    135135
     
    692692      call getin("atm_wat_profile",atm_wat_profile)
    693693      write(*,*) "atm_wat_profile = ", atm_wat_profile
    694       if (atm_wat_profile.EQ.0) then
     694      if (atm_wat_profile.EQ.-1) then
    695695        write(*,*) "Free atmospheric water vapor profile"
    696       else if (atm_wat_profile.EQ.1) then
     696        write(*,*) "Total water is conserved on the column"
     697      else if (atm_wat_profile.EQ.0) then
    697698        write(*,*) "Dry atmospheric water vapor profile"
    698       else if (atm_wat_profile.EQ.2) then
    699         write(*,*) "Wet atmospheric water vapor profile"
     699      else if ((atm_wat_profile.GT.0).and.(atm_wat_profile.LE.1)) then
     700        write(*,*) "Prescribed atmospheric water vapor MMR profile"
     701        write(*,*) "Unless it reaches saturation (maximal value)"
     702        write(*,*) "MMR chosen : ", atm_wat_profile
    700703      endif
    701704
     
    769772        call watersat(nlayer,temp,play,zqsat)
    770773        DO iq = 1, nq
    771           IF ((iq.eq.igcm_h2o_vap).and.(atm_wat_profile.eq.1)) THEN
     774          IF ((iq.eq.igcm_h2o_vap).and.(atm_wat_profile.eq.0)) THEN
    772775            DO ilayer=1,nlayer
    773776             q(ilayer,igcm_h2o_vap)=0.
    774777c             write(*,*) "atm_wat_profile dry"
    775 c             write(*,*) "iq (igcm_h2o_vap)", iq
    776778            ENDDO! ilayer=1,nlayer
    777           ELSE IF((iq.eq.igcm_h2o_vap).and.(atm_wat_profile.eq.2)) THEN
     779          ELSE IF((iq.eq.igcm_h2o_vap).and.(atm_wat_profile.gt.0)
     780     &             .and.(atm_wat_profile.le.1)) THEN
    778781            DO ilayer=1,nlayer
    779              q(ilayer,igcm_h2o_vap)=zqsat(ilayer)*0.7
     782             q(ilayer,igcm_h2o_vap)=min(zqsat(ilayer),atm_wat_profile)
    780783c             write(*,*) "atm_wat_profile wet"
    781 c             write(*,*) "iq (igcm_h2o_vap)", iq
    782 c             q(ilayer,igcm_h2o_vap)=zqsat(ilayer)-0.9*zqsat(ilayer)
    783784            ENDDO! ilayer=1,nlayer
    784           ELSE IF ((iq.eq.igcm_h2o_ice).and.(atm_wat_profile.ne.0)) THEN
     785          ELSE IF ((iq.eq.igcm_h2o_ice).and.
     786     &                  (atm_wat_profile.ne.-1)) THEN
    785787            DO ilayer=1,nlayer
    786788             q(ilayer,igcm_h2o_ice)=0.
    787789c             write(*,*) "atm_wat_profile : reset ice"
    788 c             write(*,*) "iq (igcm_h2o_ice)", iq
    789790            ENDDO! ilayer=1,nlayer
    790791          ENDIF  !((iq.eq.igcm_h2o_vap).and.(atm_wat_profile.eq.2)) THEN
    791792        ENDDO
     793        CALL WRITEDIAGFI(ngrid,'qsat',
     794     &                         'qsat',
     795     &                         'kg/kg',1,zqsat)
     796
    792797
    793798
Note: See TracChangeset for help on using the changeset viewer.