Ignore:
Timestamp:
Feb 4, 2011, 1:46:39 AM (14 years ago)
Author:
aslmd
Message:

LMD_MM_MARS: element manquant pour runs traceurs avec nouvelle physique
--> avec mars=0 et non actif, le modele fonctionne toujours bien [avec starts JBM et conditions de ses runs]
--> mettre les traceurs avec mars=11 [actifs ou non] semble faire crasher le modele: pourquoi ?

M 54 mesoscale/LMD_MM_MARS/SRC/WRFV2/call_meso_physiq1.inc
M 54 mesoscale/LMD_MM_MARS/SRC/WRFV2/call_meso_physiq2.inc
M 54 mesoscale/LMD_MM_MARS/SRC/WRFV2/call_meso_physiq3.inc
M 54 mesoscale/LMD_MM_MARS/SRC/WRFV2/call_meso_physiq4.inc
M 54 mars/libf/phymars/meso_physiq.F
le tableau tnom est defini dans module_lmd_driver en fonction de config_flag%mars [MARS_MODE]

et passe dans meso_physiq [pour ensuite servir dans initracer]

--> le COMMON advtrac.h est alors necessaire

M 54 mesoscale/LMD_MM_MARS/SRC/WRFV2/Registry/Registry.EM
config_flag%mars defini une serie de traceurs ordonnee dans le tableau scalar

M 54 mesoscale/LMD_MM_MARS/SRC/WRFV2/share/module_model_constants.F
on passe au cp et R du GCM martien pour une complete correspondance

M 54 mesoscale/LMD_MM_MARS/SRC/WRFV2/call_meso_physiq.inc
ce fichier est en fait inutile et pourrait etre supprime

M 54 mesoscale/LMD_MM_MARS/SRC/WRFV2/dyn_em/module_initialize_real.F
M 54 mesoscale/LMD_MM_MARS/SRC/WRFV2/dyn_em/solve_em.F
M 54 mesoscale/LMD_MM_MARS/SRC/WRFV2/phys/module_lmd_driver.F
M 54 mesoscale/LMD_MM_MARS/SRC/WRFV2/main/real_em.F
modifications pour prise en compte des traceurs avec la nouvelle physique
--> avantage des traceurs generiques dans la physique
--> pour l'instant dans SCALAR l'indice 1 est dummy, 2/3 water vapor/ice et dernier CO2

M 54 mesoscale/LMD_MM_MARS/SRC/PREP_MARS/readmeteo_newphys.F90
M 54 mesoscale/LMD_MM_MARS/SRC/WPS/wps_mars/metgrid/METGRID.TBL.ARW_MarsBase_newphys
modifications pour possibilites de passer les tableaux necessaires pour

initialiser et guider les traceurs dans la nouvelle physique

M mars/libf/phymars/dimradmars.h
M mars/libf/phymars/callradite.F
version traceurs non actifs pour tests basiques

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/mesoscale/LMD_MM_MARS/SRC/WRFV2/phys/module_lmd_driver.F

    r54 r55  
    176176#ifdef NEWPHYS
    177177   REAL,DIMENSION(:,:),ALLOCATABLE :: wisoil,wdsoil
     178   CHARACTER*20,DIMENSION(:),ALLOCATABLE :: wtnom
    178179#endif
    179180   ! ----------
     
    189190   REAL, DIMENSION(:), ALLOCATABLE  :: &
    190191     dz8w_prof,p8w_prof,p_prof,t_prof,t8w_prof, &
    191      u_prof,v_prof,z_prof, &
     192     u_prof,v_prof,z_prof
     193!!   pi_prof, rho_prof, th_prof, &
     194#ifdef NEWPHYS
     195   REAL, DIMENSION(:,:), ALLOCATABLE :: q_prof
     196#else
     197   REAL, DIMENSION(:), ALLOCATABLE  :: &
    192198     water_vapor_prof, water_ice_prof
    193 !!   pi_prof, rho_prof, th_prof, &
     199#endif
     200
    194201
    195202   ! Additional control variables
     
    553560!ALLOCATE(rho_prof(nlayer))
    554561!ALLOCATE(pi_prof(nlayer))
     562#ifdef NEWPHYS
     563ALLOCATE(q_prof(nlayer,nq))
     564ALLOCATE(wtnom(nq))
     565#else
    555566ALLOCATE(water_vapor_prof(nlayer))
    556567ALLOCATE(water_ice_prof(nlayer))
    557 
     568#endif
    558569
    559570!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     
    562573!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    563574!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    564 
     575#ifdef NEWPHYS
     576!!! name of tracers -- see Registry.EM for order and traceur.def for names
     577SELECT CASE (MARS_MODE)
     578    CASE(0)  !! NO TRACERS (mars=0)
     579      wtnom(nq) = 'co2'
     580    CASE(11) !! newwater mars==11 scalar:qh2o,qh2o_ice,qdust,qdust_number,qco2
     581      wtnom(nq) = 'co2'
     582      wtnom(1) = 'h2o_vap'
     583      wtnom(2) = 'h2o_ice'
     584      wtnom(3) = 'dust_mass'
     585      wtnom(4) = 'dust_number'
     586END SELECT
     587#endif
    565588
    566589DO j = jps,jpe
     
    595618! specific treatment for tracers !
    596619!--------------------------------!
     620#ifdef NEWPHYS
     621q_prof(:,1:nq) = SCALAR(i,kps:kpe,j,2:nq+1)  !! the names were set above !! one dummy tracer in WRF
     622q_prof(:,nq) = 0.95 !! cas du CO2 !! TEMPORAIRE
     623#else
    597624SELECT CASE (MARS_MODE)
    598625    CASE(0)  !! NO TRACERS (mars=0)
     
    606633    water_ice_prof(:) = 0.
    607634END SELECT
     635#endif
    608636
    609637!!**********************************************************!!
     
    764792PRINT *,'isoil ',isoil_val
    765793PRINT *,'dsoil ',dsoil_val
     794PRINT *,'q_prof ',q_prof
    766795#endif
    767796ENDIF
     
    833862
    834863!---------!
    835 ! Tracers !
     864! Tracers ! 
    836865!---------!
     866#ifdef NEWPHYS
     867pq(subs,:,:) = q_prof(:,:)  !! traceurs generiques, seuls noms sont specifiques
     868#else
    837869SELECT CASE (MARS_MODE)
    838870    CASE(0)  !! NO TRACERS (mars=0)
     
    844876    pq(subs,:,nq) = water_vapor_prof(:) !! NB: which is 0, actually (see above)
    845877END SELECT
    846 
     878#endif
    847879ENDDO
    848880ENDDO
     
    865897DEALLOCATE(u_prof)
    866898DEALLOCATE(v_prof)
     899#ifdef NEWPHYS
     900DEALLOCATE(q_prof)
     901#else
    867902DEALLOCATE(water_vapor_prof)
    868903DEALLOCATE(water_ice_prof)
     904#endif
    869905    !!! no use
    870906    !DEALLOCATE(pi_prof)
     
    944980DEALLOCATE(wisoil)
    945981DEALLOCATE(wdsoil)
     982DEALLOCATE(wtnom)
    946983#endif
    947984
     
    10191056
    10201057!---------!
    1021 ! Tracers !
     1058! Tracers ! 
    10221059!---------!
     1060#ifdef NEWPHYS
     1061SCALAR(i,kps:kpe,j,1)=0.
     1062SCALAR(i,kps:kpe,j,2:nq+1)=SCALAR(i,kps:kpe,j,2:nq+1)+pdq(subs,kps:kpe,1:nq)
     1063#else
    10231064SELECT CASE (MARS_MODE)
    10241065CASE(0)
     
    10321073        !!! Dust
    10331074        SCALAR(i,kps:kpe,j,2)=SCALAR(i,kps:kpe,j,2)+pdq(subs,kps:kpe,nq)
     1075!!CASE(11) !!!
    10341076END SELECT
    1035 
     1077#endif
    10361078        !!TODO: check if adding the whole tendency once, and set the
    10371079        !!TODO: following tendencies to 0 until physics is called again
Note: See TracChangeset for help on using the changeset viewer.