source: trunk/LMDZ.VENUS/libf/phyvenus/phyredem.F90 @ 3556

Last change on this file since 3556 was 3451, checked in by emillour, 3 months ago

Venus PCM:
Add "Age of Air" scheme from Maureen Cohen.
Activated with flag "ok_aoa=y" and requires that there is also
an "aoa" tracer in traceur.def
MC

File size: 3.8 KB
Line 
1!
2! $Id: $
3!
4      SUBROUTINE phyredem (fichnom)
5
6      USE dimphy
7      USE mod_grid_phy_lmdz
8      USE mod_phys_lmdz_para
9      USE iophy
10      USE phys_state_var_mod
11      USE iostart, only : open_restartphy,close_restartphy, &
12                          put_var,put_field
13      use geometry_mod, only: longitude_deg, latitude_deg
14      USE time_phylmdz_mod, only: day_end, annee_ref, itau_phy, raz_date
15  use nonoro_gwd_ran_mod, only: du_nonoro_gwd, dv_nonoro_gwd, &
16                                east_gwstress, west_gwstress
17  use age_of_air_mod, only: ok_aoa
18  implicit none
19!======================================================================
20! Auteur(s) Z.X. Li (LMD/CNRS) date: 19930818
21! Objet: Lecture de l'etat initial pour la physique
22!======================================================================
23!include "netcdf.inc"
24include "dimsoil.h"
25include "clesphys.h"
26include "tabcontrol.h"
27!======================================================================
28
29character(len=*),intent(in) :: fichnom
30REAL    :: tab_cntrl(length)
31integer :: isoil
32CHARACTER(len=2) :: str2
33
34
35! open file
36
37      CALL open_restartphy(fichnom)
38
39! tab_cntrl() contains run parameters
40
41      tab_cntrl(:)=0.0
42 
43      tab_cntrl(1) = dtime
44      tab_cntrl(2) = radpas
45      tab_cntrl(3) = 0.0
46      tab_cntrl(4) = 0
47      tab_cntrl(5) = 0
48      tab_cntrl(6) = nbapp_rad
49
50      IF( cycle_diurne ) tab_cntrl( 7 ) = 1.
51      IF(   soil_model ) tab_cntrl( 8 ) = 1.
52      IF(     ok_orodr ) tab_cntrl(10 ) = 1.
53      IF(     ok_orolf ) tab_cntrl(11 ) = 1.
54      IF( ok_gw_nonoro ) tab_cntrl(12 ) = 1.
55
56      tab_cntrl(13) = day_end
57      tab_cntrl(14) = annee_ref
58      tab_cntrl(15) = itau_phy
59
60      CALL put_var("controle","Parametres de controle",tab_cntrl)
61
62! coordinates
63
64      CALL put_field("longitude", &
65                     "Longitudes de la grille physique",longitude_deg)
66     
67      CALL put_field("latitude", &
68                     "Latitudes de la grille physique",latitude_deg)
69
70! variables
71
72      CALL put_field("TS","Temperature de surface",ftsol)
73
74      DO isoil=1, nsoilmx
75        IF (isoil.LE.99) THEN
76        WRITE(str2,'(i2.2)') isoil
77        CALL put_field("Tsoil"//str2, &
78                       "Temperature du sol No."//str2,ftsoil(:,isoil))
79        ELSE
80        PRINT*, "Trop de couches"
81        CALL abort
82        ENDIF
83      ENDDO
84
85      CALL put_field("ALBE","albedo de surface",falbe)
86      CALL put_field("solsw","Rayonnement solaire a la surface",solsw)
87      CALL put_field("sollw","Rayonnement IR a la surface",sollw)
88      CALL put_field("fder","Derive de flux",fder)
89      CALL put_field("dlw","Derivee flux IR",dlw)
90      CALL put_field("sollwdown","Flux IR vers le bas a la surface",sollwdown)
91      CALL put_field("RADS","Rayonnement net a la surface",radsol)
92      CALL put_field("ZMEA","zmea Orographie sous-maille",zmea)
93      CALL put_field("ZSTD","zstd Orographie sous-maille",zstd)
94      CALL put_field("ZSIG","zsig Orographie sous-maille",zsig)
95      CALL put_field("ZGAM","zgam Orographie sous-maille",zgam)
96      CALL put_field("ZTHE","zthe Orographie sous-maille",zthe)
97      CALL put_field("ZPIC","zpic Orographie sous-maille",zpic)
98      CALL put_field("ZVAL","zval Orographie sous-maille",zval)
99      CALL put_field("Q2","Turbulent Kinetic Energy",q2)
100
101      CALL put_field("TANCIEN","T Previous iteration",t_ancien)
102
103! Non-orographic gavity waves
104if (ok_gw_nonoro) then
105   call put_field("du_nonoro_gwd","Zonal wind tendency due to GW",du_nonoro_gwd)
106   call put_field("dv_nonoro_gwd","Meridional wind tendency due to GW",dv_nonoro_gwd)
107   call put_field("east_gwstress","Eastward stress profile due to GW",east_gwstress)
108   call put_field("west_gwstress","Westward stress profile due to GW",west_gwstress)
109endif
110
111if (ok_aoa) then
112   call put_field("age","Age of air",age)
113endif
114
115! close file
116
117      CALL close_restartphy
118!$OMP BARRIER
119
120      END SUBROUTINE phyredem
Note: See TracBrowser for help on using the repository browser.