Ignore:
Timestamp:
Jul 24, 2013, 1:49:19 PM (11 years ago)
Author:
idelkadi
Message:
  1. transform phytrac into a module, in order to pass some variables

(tracer tendencies) to the standard physiq ouput codes.

  1. Correct a (big) bug in the call to phytrac.
  2. Include w*, and ALEs in the call to phytrac and traclmdz.

physiq.F

  • Bug correction in the call of phytrac from the physics u10m,v10m, ustar -> zu10m, zv10m, zustar

phytrac.F90 -> phytrac_mod.F90

  • Tranformation of routine phytrac into a module phytrac_mod, in order to tranfer the tracer tendencies from phytrac to

phys_output...

  • Inclusion of w*, Ale bl/wake in the call to phytrac and traclmdz

(to be used for dust emmission)

by respectively, vertical diffusion, thermal plumes and convection

  • desactivation of ini_histrac.h and write_histrac.h
  • USE phys_output_mod removed since it was creating a circular

dependency

between phytrac_mod and phys_output_mod.
So the automatic computation of ecrit_tra is desactivated

ini_histrac.h and write_histrac.h

Descactivated in phytrac but kept for backard compatibility
couchelimite -> iflag_vdf_trac>0

phys_output_ctrlout_mod.F90

New variables : o_dtr_vdf, o_dtr_the ... for output of tracer tendencies

phys_output_mod.F90

Default definition for these new output variables.

phys_output_write_F90.h

disapears, included directly in phys_output_write_mod.F90

phys_output_write_mod.F90

writing of the tracer tendencies

phys_state_var_mod.F90

New declaration (wstar)

traclmdz_mod.F90

  • Inclusion of w*, Ale bl/wake in the call to phytrac and traclmdz

(to be used for dust emmission)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/trunk/libf/phylmd/phys_output_mod.F90

    r1809 r1813  
    11! $Id$
    22!
     3
     4MODULE phys_output_mod
     5  USE indice_sol_mod
     6  USE phys_output_var_mod
     7  USE aero_mod, only : naero_spc,name_aero
     8  USE phys_output_write_mod, ONLY : phys_output_write
     9
    310! Abderrahmane 12 2007
    411!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     
    916! histins.nc : valeurs instantanees
    1017!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    11 
    12 MODULE phys_output_mod
    13   USE indice_sol_mod
    14   USE phys_output_var_mod
    15   USE aero_mod, only : naero_spc,name_aero
    16 
    17   IMPLICIT NONE
    1818
    1919CONTAINS
     
    4141    USE mod_phys_lmdz_para
    4242    USE aero_mod, only : naero_spc,name_aero
    43     USE phys_output_write_mod
    4443    USE phys_output_ctrlout_mod
    4544
     
    124123    IF (.NOT. ALLOCATED(o_trac)) ALLOCATE(o_trac(nqtot))
    125124    IF (.NOT. ALLOCATED(o_trac_cum)) ALLOCATE(o_trac_cum(nqtot))
     125    ALLOCATE(o_dtr_the(nqtot),o_dtr_con(nqtot),o_dtr_lessi_impa(nqtot))
     126    ALLOCATE(o_dtr_lessi_nucl(nqtot),o_dtr_insc(nqtot),o_dtr_bcscav(nqtot))
     127    ALLOCATE(o_dtr_evapls(nqtot),o_dtr_ls(nqtot),o_dtr_trsp(nqtot))
     128    ALLOCATE(o_dtr_sscav(nqtot),o_dtr_sat(nqtot),o_dtr_uscav(nqtot))
     129    ALLOCATE(o_dtr_dry(nqtot),o_dtr_vdf(nqtot))
     130
    126131
    127132    levmax = (/ klev, klev, klev, klev, klev, klev /)
     
    330335            o_trac(iq-2) = ctrl_out((/ 4, 5, 1, 1, 1, 10 /),tname(iiq),'Tracer '//ttext(iiq), "-",&
    331336                  (/ '', '', '', '', '', '' /))
     337
     338            o_dtr_vdf(iq-2) = ctrl_out((/ 5, 7, 7, 7, 10, 10 /),'d'//trim(tname(iq))//'_vdf' &
     339               ,'Tendance tracer '//ttext(iiq), "-" , (/ '', '', '', '', '', '' /))
     340
     341            o_dtr_the(iq-2) = ctrl_out((/ 5, 7, 7, 7, 10, 10 /),'d'//trim(tname(iq))//'_the' &
     342               ,'Tendance tracer '//ttext(iiq), "-", (/ '', '', '', '', '', '' /) )
     343
     344            o_dtr_con(iq-2) = ctrl_out((/ 5, 7, 7, 7, 10, 10 /),'d'//trim(tname(iq))//'_con' &
     345               ,'Tendance tracer '//ttext(iiq), "-", (/ '', '', '', '', '', '' /) )
     346
     347            o_dtr_lessi_impa(iq-2) = ctrl_out((/ 7, 7, 7, 7, 10, 10 /),'d'//trim(tname(iq))//'_lessi_impa' &
     348               ,'Tendance tracer '//ttext(iiq), "-", (/ '', '', '', '', '', '' /) )
     349
     350            o_dtr_lessi_nucl(iq-2) = ctrl_out((/ 7, 7, 7, 7, 10, 10 /),'d'//trim(tname(iq))//'_lessi_nucl' &
     351               ,'Tendance tracer '//ttext(iiq), "-", (/ '', '', '', '', '', '' /) )
     352
     353            o_dtr_insc(iq-2) = ctrl_out((/ 7, 7, 7, 7, 10, 10 /),'d'//trim(tname(iq))//'_insc' &
     354               ,'Tendance tracer '//ttext(iiq), "-", (/ '', '', '', '', '', '' /) )
     355
     356            o_dtr_bcscav(iq-2) = ctrl_out((/ 7, 7, 7, 7, 10, 10 /),'d'//trim(tname(iq))//'_bcscav' &
     357               ,'Tendance tracer '//ttext(iiq), "-", (/ '', '', '', '', '', '' /) )
     358
     359            o_dtr_evapls(iq-2) = ctrl_out((/ 7, 7, 7, 7, 10, 10 /),'d'//trim(tname(iq))//'_evapls' &
     360               ,'Tendance tracer '//ttext(iiq), "-", (/ '', '', '', '', '', '' /) )
     361
     362            o_dtr_ls(iq-2) = ctrl_out((/ 7, 7, 7, 7, 10, 10 /),'d'//trim(tname(iq))//'_ls' &
     363               ,'Tendance tracer '//ttext(iiq), "-", (/ '', '', '', '', '', '' /) )
     364
     365            o_dtr_trsp(iq-2) = ctrl_out((/ 7, 7, 7, 7, 10, 10 /),'d'//trim(tname(iq))//'_trsp' &
     366               ,'Tendance tracer '//ttext(iiq), "-", (/ '', '', '', '', '', '' /) )
     367
     368            o_dtr_sscav(iq-2) = ctrl_out((/ 7, 7, 7, 7, 10, 10 /),'d'//trim(tname(iq))//'_sscav' &
     369               ,'Tendance tracer '//ttext(iiq), "-", (/ '', '', '', '', '', '' /) )
     370
     371            o_dtr_sat(iq-2) = ctrl_out((/ 7, 7, 7, 7, 10, 10 /),'d'//trim(tname(iq))//'_sat' &
     372               ,'Tendance tracer '//ttext(iiq), "-", (/ '', '', '', '', '', '' /) )
     373
     374            o_dtr_uscav(iq-2) = ctrl_out((/ 7, 7, 7, 7, 10, 10 /),'d'//trim(tname(iq))//'_uscav' &
     375               ,'Tendance tracer '//ttext(iiq), "-", (/ '', '', '', '', '', '' /) )
     376
     377            o_dtr_dry(iq-2) = ctrl_out((/ 7, 7, 7, 7, 10, 10 /),'cum'//'d'//trim(tname(iq))//'_dry' &
     378               ,'tracer tendency dry deposition'//ttext(iiq), "-", (/ '', '', '', '', '', '' /) )
     379
    332380            o_trac_cum(iq-2) = ctrl_out((/ 3, 4, 10, 10, 10, 10 /),'cum'//tname(iiq),&
    333381                  'Cumulated tracer '//ttext(iiq), "-", (/ '', '', '', '', '', '' /))
Note: See TracChangeset for help on using the changeset viewer.