Changeset 3954


Ignore:
Timestamp:
Nov 6, 2025, 4:06:36 PM (3 months ago)
Author:
slebonnois
Message:

SL: VCD 2.4 version. Updates in photochemistry (just tuning adjustment for O production), new molecular diffusion scheme, and adjustments of the non-orographic gravity waves (in particular change in direction of propagation at latitudes above 55 degrees).

Location:
trunk/LMDZ.VENUS/libf/phyvenus
Files:
1 added
4 edited
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.VENUS/libf/phyvenus/nonoro_gwd_ran_mod.F90

    r3884 r3954  
    8484     ! 0.3.1 Gravity waves specifications
    8585     INTEGER, parameter:: nk = 2 ! number of horizontal wavenumbers
    86      INTEGER, parameter:: np = 2 ! directions (eastward and westward) phase speed
     86     !----------------------------------------
     87     ! VCD 2.0 tuning
     88     ! INTEGER, parameter:: np = 2 ! directions (eastward and westward) phase speed
     89     !---------------------------------------- 
     90     ! VCD 2.4 tuning
     91     INTEGER, parameter:: np = 4 ! directions (east, north south, westward) phase speed
    8792     INTEGER, parameter:: no = 2 ! absolute values of phase speed
    8893     INTEGER, parameter:: na = 5 ! Number of realizations to get the phase speed
     
    140145!----------------------------------------
    141146! VCD 2.0 tuning
    142      REAL, parameter:: sat   = 0.6    ! saturation parameter
     147!    REAL, parameter:: sat   = 0.6    ! saturation parameter
     148!    REAL, parameter:: rdiss = 8.e-4  ! coefficient of dissipation
     149!----------------------------------------
     150! VCD 2.4 tuning
     151     REAL, parameter:: sat   = 0.60   ! saturation parameter
    143152     REAL, parameter:: rdiss = 8.e-4  ! coefficient of dissipation
    144153!----------------------------------------
     
    168177     REAL href(nlayer + 1)           ! Reference altitude for launching altitude
    169178
    170      REAL ran_num_1, ran_num_2, ran_num_3
     179     REAL ran_num_1, ran_num_2, ran_num_3, ran_num_4
    171180   
    172181     LOGICAL, save :: firstcall = .true.
     
    260269           ran_num_1 = mod(tt(ii, jw) * 10., 1.)
    261270           ran_num_2 = mod(tt(ii, jw) * 100., 1.)
    262 
     271           
    263272!! OPTIONS GENERIC DIFF VENUS !!
     273           !----------------------------------------
     274           ! VCD 2.0
    264275           ! angle (random) - reference
     276           !   zp(jw, ii) = (sign(1., 0.5 - ran_num_1) &
     277           !            + 1.) * RPI / 2.
     278           !
     279           !
     280           !!   zp(jw, ii) = atan2(4.*vh(ii, launch),uh(ii, launch)) &
     281           !!            + (sign(1., 0.5 - ran_num_1) + 1.) * RPI / 2.
     282           !! --------- TRY 00 -----------------------
     283           !!IF((abs(latitude_deg(ii)) .le. 55.)) THEN
     284           !!  zp(jw, ii) = 0. + 2. * ( ran_num_1 - 0.5 ) * RPI /180. &
     285           !!                       * (10.) ! +/- 10 deg par rapport equateur
     286           !!ELSE IF ((abs(latitude_deg(ii)) .le. 75.)) THEN
     287           !!  zp(jw, ii) = 0. + 2. * ( ran_num_1 - 0.5 ) * RPI /180. &
     288           !!                       * (10. +(90.-10.)                 &
     289           !!                       * (latitude_deg(ii)-55.)/20.)
     290           !!ELSE
     291           !!  zp(jw, ii) = ran_num_1 * RPI
     292           !!ENDIF
     293           !!zp(jw, ii) = mod(zp(jw, ii),2.*RPI)
     294           !----------------------------------------
     295           ! VCD 2.4
     296           IF((abs(latitude_deg(ii)) .le. 43.125)) THEN ! EASTWARD WESTWARD
    265297             zp(jw, ii) = (sign(1., 0.5 - ran_num_1) &
    266298                        + 1.) * RPI / 2.
    267            !   zp(jw, ii) = atan2(4.*vh(ii, launch),uh(ii, launch)) &
    268            !            + (sign(1., 0.5 - ran_num_1) + 1.) * RPI / 2.
    269            ! --------- TRY 00 -----------------------
    270            !IF((abs(latitude_deg(ii)) .le. 55.)) THEN
    271            !  zp(jw, ii) = 0. + 2. * ( ran_num_1 - 0.5 ) * RPI /180. &
    272            !                       * (10.) ! +/- 10 deg par rapport equateur
    273            !ELSE IF ((abs(latitude_deg(ii)) .le. 75.)) THEN
    274            !  zp(jw, ii) = 0. + 2. * ( ran_num_1 - 0.5 ) * RPI /180. &
    275            !                       * (10. +(90.-10.)                 &
    276            !                       * (latitude_deg(ii)-55.)/20.)
    277            !ELSE
    278            !  zp(jw, ii) = ran_num_1 * RPI
    279            !ENDIF
    280            !zp(jw, ii) = mod(zp(jw, ii),2.*RPI)
    281            ! ------ TRY 01-------------------------------
    282            !IF((abs(latitude_deg(ii)) .le. 55)) THEN
    283            !  zp(jw, ii) = (sign(1., 0.5 - ran_num_1) &
    284            !             + 1.) * RPI / 2.
    285            !ELSE
    286            !  zp(jw, ii) = ran_num_1 * RPI
    287            !ENDIF
     299           ELSE IF((abs(latitude_deg(ii)) .le. 56.25)) THEN ! TRANSITION BETWEEN ALL DIRECTION AND WEST/EASTWARD
     300             zp(jw, ii) =              (0.5 - ran_num_1)            &
     301                        * RPI      / (56.25 - 43.125)               &
     302                        * (abs(latitude_deg(ii)) - 43.125)
     303             IF (zp(jw, ii) < 0.) THEN
     304               zp(jw, ii) = zp(jw, ii) + 2.*RPI
     305             ENDIF
     306           ELSE ! all direction if lat > 56.25
     307
     308             zp(jw, ii) = ran_num_1 * RPI ! Pas besoin de plus comme cpha change l'orientation zp de 180 deg
     309           
     310           ENDIF
    288311           ! ---- angle (0 or RPI) -----
    289312           !!zp(jw, ii) = RPI*mod(jw,2)
     
    308331              cpha = - 1. * cpha
    309332              zp (jw, ii) = zp(jw, ii) + RPI
     333           ENDIF
     334           IF (zp(jw, ii) > 2.*RPI) THEN
     335             zp(jw, ii) = zp(jw, ii) - 2.*RPI
    310336           ENDIF
    311337           !IF (cpha < 1.) THEN
  • trunk/LMDZ.VENUS/libf/phyvenus/photochemistry_venus.F90

    r3835 r3954  
    47364736      !--
    47374737      ! VCD 2.1 tuning
    4738           v_phot(65:nz,4) = v_phot(65:nz,4)*8. ! CO2 + hv ==> O(1D) + CO
     4738      !   v_phot(65:nz,4) = v_phot(65:nz,4)*8. ! CO2 + hv ==> O(1D) + CO
     4739      !--
     4740      ! VCD 2.4 tuning
     4741          v_phot(65:nz,4) = v_phot(65:nz,4)*7. ! CO2 + hv ==> O(1D) + CO
    47394742      !--
    47404743      ! TEST TUNEH
  • trunk/LMDZ.VENUS/libf/phyvenus/physiq_mod.F

    r3911 r3954  
    234234      REAL Fsedim(klon,klev+1)  ! Flux de sedimentation (kg.m-2)
    235235
     236      EXTERNAL moldiff_MPF
    236237
    237238c
     
    16701671         IF (callthermos .and. ok_chem) THEN
    16711672
    1672              call moldiff_red(klon, klev, nqmax,
     1673         !----------------------------------------
     1674         ! VCD 2.0
     1675
     1676!             call moldiff_red(klon, klev, nqmax,
     1677!     &                   pplay,paprs,t_seri, tr_seri, pdtphys,
     1678!     &                   d_t_euv,d_t_conduc,d_q_moldif)
     1679
     1680         !----------------------------------------
     1681         ! VCD 2.4
     1682
     1683             call moldiff_MPF(klon, klev, nqmax,
    16731684     &                   pplay,paprs,t_seri, tr_seri, pdtphys,
    16741685     &                   d_t_euv,d_t_conduc,d_q_moldif)
    1675 
    16761686
    16771687! --- update tendencies tracers ---
  • trunk/LMDZ.VENUS/libf/phyvenus/phytrac_chimie.F

    r3884 r3954  
    182182              if (i_so2 /= 0) then
    183183                 trac(:,25:,i_so2)  = 100.e-9
    184                  trac(:,1:24,i_so2) = 10.e-6
     184                 trac(:,1:24,i_so2) = 15.e-6
    185185                 trac(:,25:,i_h2o)  = 1.e-6
    186186                 trac(:,1:24,i_h2o) = 30.e-6
     
    189189                 trac(:,:,i_osso_trans) = 0.
    190190                 trac(:,:,i_s2o2_cyc)   = 0.
     191                 trac(:,:,i_cl2so2)     = 0.
    191192 
    192193! AL TRACERS!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Note: See TracChangeset for help on using the changeset viewer.