Ignore:
Timestamp:
Feb 4, 2011, 1:46:39 AM (15 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/PREP_MARS/readmeteo_newphys.F90

    r31 r55  
    2222!               02/2008 : include water vapor and ice                    !
    2323!               01/2010 : possible use of diagsoil for new physics       !
     24!               02/2011 : add dust tracers                               !
    2425!                                                                        !
    2526! spiga@lmd.jussieu.fr                                                   !     
     
    8586real, dimension(:,:,:,:), allocatable :: tsoilfile, dsoilfile, isoilfile
    8687real, dimension(:,:,:,:), allocatable :: waterfile, watericefile
     88real, dimension(:,:,:,:), allocatable :: dustfile,dustnfile
    8789
    8890!! Reading the parameter file
     
    213215allocate(waterfile(lonlen,latlen,altlen,timelen))
    214216allocate(watericefile(lonlen,latlen,altlen,timelen))
     217allocate(dustfile(lonlen,latlen,altlen,timelen))
     218allocate(dustnfile(lonlen,latlen,altlen,timelen))
    215219allocate(psfile(lonlen,latlen,timelen))
    216220allocate(tsfile(lonlen,latlen,timelen))
     
    241245waterfile(:,:,:,:)=0
    242246watericefile(:,:,:,:)=0
     247dustfile(:,:,:,:)=0
     248dustnfile(:,:,:,:)=0
    243249psfile(:,:,:)=0
    244250tsfile(:,:,:)=0
     
    568574!!------------------------
    569575
     576!!------------------------
     577!! special dust stuff
     578!!------------------------
     579    print *,'Dust mass'
     580    ierr=NF_INQ_VARID(nid,"dustq",nvarid)
     581    if (ierr.ne.NF_NOERR) then
     582      write(*,*) "...No dustq - Dust mass set to 0"
     583      dustfile(:,:,:,:)=0.
     584    endif
     585    ierr=NF_GET_VAR_REAL(nid,nvarid,dustfile)
     586
     587    print *,'Dust number'
     588    ierr=NF_INQ_VARID(nid,"dustN",nvarid)
     589    if (ierr.ne.NF_NOERR) then
     590      write(*,*) "...No dustN - Dust number set to 0"
     591      dustnfile(:,:,:,:)=0.
     592    endif
     593    ierr=NF_GET_VAR_REAL(nid,nvarid,dustnfile)
     594!!------------------------
     595!! special dust stuff
     596!!------------------------
     597
    570598
    571599!SELECT CASE(ident)
     
    684712!! 1. Surface data
    685713!!---------------------------------------------
     714!!
     715!! a mettre pour tous sinon
     716!!     WRF_DEBUG: Warning DIM             4 , NAME num_metgrid_levels REDIFINED  by
     717!!            var DUSTN            26           25  in wrf_io.F90 line         2349
     718!!
    686719
    687720!
     
    11041137!print *,'The field '//DESC//' was written to '//output
    11051138
     1139!------------------------!
     1140! >>> Write a variable   !
     1141!    ... Copy&Paste part !
     1142!------------------------!
     1143FIELD='DUSTQ'
     1144UNITS='kg/kg'
     1145DESC='Dust mixing ratio'
     1146XLVL=200100.
     1147SLAB=dustfile(:,:,1,time_out(l))
     1148        ! And now put everything in the destination file
     1149        ! ... Header
     1150        write(1) IFV
     1151        write(1) HDATE,XFCST,SOURCE,FIELD,UNITS,DESC,XLVL,NX,NY,IPROJ
     1152        write(1) STARTLOC,STARTLAT,STARTLON,DELTALAT,DELTALON
     1153        ! ... Data
     1154        write(1) SLAB
     1155!print *,'The field '//DESC//' was written to '//output
     1156
     1157!------------------------!
     1158! >>> Write a variable   !
     1159!    ... Copy&Paste part !
     1160!------------------------!
     1161FIELD='DUSTN'
     1162UNITS='part/kg'
     1163DESC='Dust number density'
     1164XLVL=200100.
     1165SLAB=dustnfile(:,:,1,time_out(l))
     1166        ! And now put everything in the destination file
     1167        ! ... Header
     1168        write(1) IFV
     1169        write(1) HDATE,XFCST,SOURCE,FIELD,UNITS,DESC,XLVL,NX,NY,IPROJ
     1170        write(1) STARTLOC,STARTLAT,STARTLON,DELTALAT,DELTALON
     1171        ! ... Data
     1172        write(1) SLAB
     1173!print *,'The field '//DESC//' was written to '//output
     1174
    11061175
    11071176!!----------------------------------------------------
     
    13281397!print *,'The field '//DESC//' was written to '//output
    13291398
     1399!------------------------!
     1400! >>> Write a variable   !
     1401!    ... Copy&Paste part !
     1402!------------------------!
     1403FIELD='DUSTQ'
     1404UNITS='kg/kg'
     1405DESC='Dust mixing ratio'
     1406DO k = 1,altlen
     1407        XLVL=levels(k)
     1408        SLAB=dustfile(:,:,k,time_out(l))
     1409                ! And now put everything in the destination file
     1410                ! ... Header
     1411        write(1) IFV
     1412        write(1) HDATE,XFCST,SOURCE,FIELD,UNITS,DESC,XLVL,NX,NY,IPROJ
     1413        write(1) STARTLOC,STARTLAT,STARTLON,DELTALAT,DELTALON
     1414                ! ... Data
     1415                write(1) SLAB
     1416END DO
     1417!print *,'The field '//DESC//' was written to '//output
     1418
     1419!------------------------!
     1420! >>> Write a variable   !
     1421!    ... Copy&Paste part !
     1422!------------------------!
     1423FIELD='DUSTN'
     1424UNITS='part/kg'
     1425DESC='Dust number density'
     1426DO k = 1,altlen
     1427        XLVL=levels(k)
     1428        SLAB=dustnfile(:,:,k,time_out(l))
     1429                ! And now put everything in the destination file
     1430                ! ... Header
     1431        write(1) IFV
     1432        write(1) HDATE,XFCST,SOURCE,FIELD,UNITS,DESC,XLVL,NX,NY,IPROJ
     1433        write(1) STARTLOC,STARTLAT,STARTLON,DELTALAT,DELTALON
     1434                ! ... Data
     1435                write(1) SLAB
     1436END DO
     1437!print *,'The field '//DESC//' was written to '//output
     1438
    13301439print *,'****done file '//output, int(100.*float(l)/float(FILES)), ' % '
    13311440close(1)
     
    13531462deallocate(waterfile)
    13541463deallocate(watericefile)
     1464deallocate(dustfile)
     1465deallocate(dustnfile)
    13551466deallocate(psfile)
    13561467deallocate(tsfile)
Note: See TracChangeset for help on using the changeset viewer.