Changeset 126


Ignore:
Timestamp:
May 23, 2011, 8:40:24 PM (14 years ago)
Author:
acolaitis
Message:

LMD_LES_MARS et LMD_MM_MARS

M 125 000-USERS
Entree d'Arnaud Colaitis chez les committers.

M 125 mars/libf/phymars/dimradmars.h
M 125 mars/libf/phymars/callradite.F
Cas simple conrath sans doubleq OK avec LES par defaut

M 125 mesoscale/LMD_LES_MARS/modif_mars/module_initialize_les.F
Initialisation du LES a partir de profils de temperature potentielle
calcules avec r_cp de module_initialize_les
[en lieu et place du calcul effectue dans wrf_sounding.sci... risque de mismatch !]

M 125 mesoscale/LMD_MM_MARS/SRC/WRFV2/phys/module_lmd_driver.F
M 125 mesoscale/LMD_LES_MARS/modif_mars/Registry.EM
Mars mode 20 : add a passive tracer with radioactive-like decay

A 0 mesoscale/LMD_LES_MARS/modif_mars/makeles_gnome
A + - mesoscale/TESTS/newphys_tracers/callphys.def.mars0.ideal
Modifications mineures, ajout de fichiers pour cas specifiques

Location:
trunk
Files:
1 added
6 edited
1 copied

Legend:

Unmodified
Added
Removed
  • trunk/000-USERS

    r91 r126  
    66Ehouarn Millour                 LMD [CNRS]                      start                           All GCMs
    77Sebastien Lebonnois             LMD [CNRS]                      start                           Venus and Titan GCMs
    8 Aymeric Spiga                   LMD [UPMC]                      17 - 11 - 2011                  Mars GCM, MMM and LES
     8Aymeric Spiga                   LMD [UPMC]                      17 - 11 - 2010                  Mars GCM, MMM and LES
     9Arnaud Colaitis                 LMD [CNRS]                      23 - 05 - 2011                  Mars GCM, MMM and LES
    910
    1011------------------------------------------------------------------------------------------------------------------------
  • trunk/mars/libf/phymars/callradite.F

    r118 r126  
    263263c        PLEASE MAKE SURE that you set up the right number of
    264264c          scatterers in dimradmars.h (naerkind);
    265 c         name_iaer(1) = "dust_conrath"   !! poussiere classique
    266           name_iaer(1) = "dust_doubleq"
     265         name_iaer(1) = "dust_conrath"   !! poussiere classique
     266c          name_iaer(1) = "dust_doubleq"
    267267cc        name_iaer(2) = "dust_submicron" !! JB: experimental
    268268c          name_iaer(2) = "h2o_ice"
  • trunk/mars/libf/phymars/dimradmars.h

    r118 r126  
    2727! (ex: naerkind=2 if you use one dust mode and active ice ...)
    2828      integer naerkind
    29       parameter (naerkind=1)
     29       parameter (naerkind=1)
    3030!      parameter (naerkind=2)
     31!!!!!! CHANGE CHANGE nsizemax BELOW BELOW
    3132
    3233! Reference wavelengths used to compute reference optical depth (m)
     
    7677!   the radiative calculations.
    7778
    78       INTEGER, PARAMETER :: nsizemax = 60
    79 !      INTEGER, PARAMETER :: nsizemax = 1
     79!      INTEGER, PARAMETER :: nsizemax = 60
     80      INTEGER, PARAMETER :: nsizemax = 1
    8081
    8182! Various initialisation for LW radiative code
  • trunk/mesoscale/LMD_LES_MARS/modif_mars/Registry.EM

    r96 r126  
    118118state  real  QH2O_ICE  ikjftb  scalar  1  -  i01rhusdf=(bdy_interp:dt) "QH2O_ICE"   "Water ice mixing ratio"     "kg kg-1"
    119119state  real  QDUST     ikjftb  scalar  1  -  i01rhusdf=(bdy_interp:dt) "QDUST"      "Dust mixing ratio"          "kg kg-1"
     120state  real  qtrac1    ikjftb  scalar  1  -  i01rhusdf=(bdy_interp:dt) "qtrac1"     "Decaying tracer 1"          "kg kg-1"
    120121####
    121122####
     
    14881489package   water        mars==1                      -              moist:qv;scalar:qh2o,qh2o_ice
    14891490package   dust         mars==2                      -              moist:qv;scalar:qdust
     1491package   radioac      mars==20                     -              scalar:qtrac1
    14901492##### MARS OPTIONS
    14911493##### MARS OPTIONS
  • trunk/mesoscale/LMD_LES_MARS/modif_mars/module_initialize_les.F

    r92 r126  
    798798      real h_input(n), th_input(n), qv_input(n), u_input(n), v_input(n)
    799799
     800! input therm data (element 0 is the ground so it's n+1 but n is 1000 anyway so...)
     801
     802     real r_therm(n),cp_therm(n),p_therm(n),rho_therm(n),t_therm(n)
     803
    800804! diagnostics
    801805
     
    816820      call read_sounding( p_surf, th_surf, qv_surf, &
    817821                          h_input, th_input, qv_input, u_input, v_input,n, nl, debug )
     822
     823! and the therm :
     824
     825      call read_therm(r_therm,cp_therm,p_therm,rho_therm,t_therm,n)
     826
     827! To use r/cp as defined above, one has to recompute teta from T (default MCD computes
     828! teta for a variable r/cp)
     829
     830      do k=1,nl
     831        th_input(k) = t_therm(k)*(p1000mb/p_therm(k))**(r/cp)
     832      enddo
     833      th_surf = t_therm(1)*(p1000mb/p_therm(1))**(r/cp)
     834! -----
    818835
    819836      if(dry) then
     
    957974      end subroutine read_sounding
    958975
     976      subroutine read_therm(r,cp,p,rho,t,n)
     977      implicit none
     978      integer n
     979      real r(n),cp(n),p(n),rho(n),t(n)
     980      logical end_of_file
     981
     982      integer k
     983
     984! first element is the surface
     985
     986      open(unit=11,file='input_therm',form='formatted',status='old')
     987      rewind(11)
     988      end_of_file = .false.
     989      k = 0
     990      do while (.not. end_of_file)
     991
     992        read(11,*,end=101) r(k+1), cp(k+1), p(k+1), rho(k+1), t(k+1)
     993        write(*,*) k, r(k+1), cp(k+1), p(k+1), rho(k+1), t(k+1)
     994        k = k+1
     995        go to 112
     996 101    end_of_file = .true.
     997 112    continue
     998      enddo
     999
     1000      close(unit=11,status = 'keep')
     1001
     1002      end subroutine read_therm
     1003
    9591004END MODULE module_initialize_ideal
  • trunk/mesoscale/LMD_MM_MARS/SRC/WRFV2/phys/module_lmd_driver.F

    r118 r126  
    155155   INTEGER ::    i,j,k,its,ite,jts,jte,ij
    156156   INTEGER ::    subs,iii
     157   REAL ::    tau_decay
    157158
    158159   ! *** for LMD physics
     
    620621
    621622SELECT CASE (MARS_MODE) !! ONLY ALLOW FOR MODES DEFINED IN Registry.EM
    622    CASE(4-10,12:)      !! -- CHANGE THIS if YOU ADDED CASES in REGISTRY.EM
     623   CASE(4-10,12-19,21:)      !! -- CHANGE THIS if YOU ADDED CASES in REGISTRY.EM
    623624   PRINT *, 'NOT SUPPORTED, to be done'
    624625   STOP
     
    630631!package   dust2eq      mars==3                      -              scalar:qdust,qdustn
    631632!package   newwater     mars==11                     -              scalar:qh2o,qh2o_ice,qdust,qdustn
     633!package   radioac      mars==20                     -              scalar:qtrac1
    632634!!!!!!!!!!!!!!!!!!! FOR REFERENCE
    633635
     
    652654      wtnom(3)  = 'dust_mass'
    653655      wtnom(4)  = 'dust_number'
     656    CASE(20)
     657      wtnom(1) = 'qtrac1'
    654658END SELECT
    655659#endif
     
    696700   IF ( wtnom(iii) .eq. 'co2' ) q_prof(:,iii) = 0.95
    697701  ENDDO
     702
     703    !! Mars mode 20 : add a passive tracer with radioactive-like decay
     704    !! INIT HERE
     705    IF (firstcall .EQV. .true.) THEN
     706    IF (MARS_MODE .EQ. 20) THEN
     707      q_prof(:,:) = 0.95
     708    ENDIF
     709    ENDIF
     710
    698711#else
    699712SELECT CASE (MARS_MODE)
     
    840853    qsurf_val(2)=MARS_WICE(i,j)    !! logique avec wtnom(2) = 'h2o_ice' defini ci-dessus
    841854    qsurf_val(3)=0.                !! not coupled with lifting for the moment [non remobilise]
     855    CASE(20)
     856    qsurf_val(:)=0.
    842857#else
    843858    CASE(3:)
     
    11951210#ifdef NEWPHYS
    11961211SCALAR(i,kps:kpe,j,1)=0.
    1197 SCALAR(i,kps:kpe,j,2:nq+1)=SCALAR(i,kps:kpe,j,2:nq+1)+pdq(subs,kps:kpe,1:nq)*dt  !!! here dt is needed
     1212!! Mars mode 20 : add a passive tracer with radioactive-like decay
     1213IF (MARS_MODE .EQ. 20) THEN
     1214   print *, 'RADIOACTIVE-LIKE TRACER WITH SOURCE AT SURFACE LAYER.'
     1215   tau_decay=60.*10. !! why not make it a namelist argument?
     1216   SCALAR(i,kps:kpe,j,2) = SCALAR(i,kps:kpe,j,2)*exp(-dt/tau_decay)
     1217   SCALAR(i,1,j,2) = SCALAR(i,1,j,2) + 1. !! this tracer is emitted in the surface layer
     1218ELSE
     1219   SCALAR(i,kps:kpe,j,2:nq+1)=SCALAR(i,kps:kpe,j,2:nq+1)+pdq(subs,kps:kpe,1:nq)*dt  !!! here dt is needed
     1220ENDIF
    11981221#else
    11991222SELECT CASE (MARS_MODE)
  • trunk/mesoscale/TESTS/newphys_tracers/callphys.def.mars0.ideal

    r125 r126  
    11##General options
    22##~~~~~~~~~~~~~~~
     3#Directory where external input files are
     4datadir = /san/work/colaitis/datafile/
     5
    36#Run with or without tracer transport ?
    47tracer=.false.
     
    2629#  =25 Mars Year 25 from TES assimilation (ie: a year with a global dust storm)
    2730#  =26 Mars Year 26 from TES assimilation
    28 iaervar = 26
     31iaervar = 1
    2932# Dust opacity at 700 Pa (when constant, i.e. for the iaervar=1 case)
    30 tauvis=0.2
     33tauvis = 0.5
    3134# Dust vertical distribution:
    3235# (=0: old distrib. (Pollack90), =1: top set by "topdustref",
     
    4346callnlte = .false.
    4447# call CO2 NIR absorption ?   matters only if callrad=T
    45 callnirco2 = .true.
     48callnirco2 = .false.
    4649# call turbulent vertical diffusion ?
    4750calldifv  = .true.
    4851# call convective adjustment ?
    49 calladj  = .true.
     52calladj  = .false.
    5053# call CO2 condensation ?
    5154callcond =.true.
     
    5558calllott  = .false.
    5659# Impose polar cap surface albedos as observed by TES?
    57 TESicealbedo = .true.
     60TESicealbedo = .false.
    5861
    5962## Radiative transfer options :
Note: See TracChangeset for help on using the changeset viewer.