Changeset 3895 for trunk/LMDZ.VENUS/libf
- Timestamp:
- Aug 14, 2025, 10:31:03 AM (5 months ago)
- Location:
- trunk/LMDZ.VENUS/libf/phyvenus
- Files:
-
- 5 edited
-
YOMCST_mod.F90 (modified) (1 diff)
-
ini_histday.h (modified) (1 diff)
-
ini_histins.h (modified) (1 diff)
-
ini_histmth.h (modified) (1 diff)
-
physiq_mod.F (modified) (22 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.VENUS/libf/phyvenus/YOMCST_mod.F90
r3884 r3895 4 4 ! A1.0 Fundamental constants 5 5 REAL, SAVE :: RPI, RCLUM, RHPLA, RKBOL, RNAVO 6 !$OMP THREADPRIVATE(RPI, RCLUM, RHPLA, RKBOL, RNAVO) 7 6 8 ! A1.1 Astronomical constants 7 9 REAL, SAVE :: RDAY, REA, REPSM, RSIYEA, RSIDAY, ROMEGA 10 !$OMP THREADPRIVATE(RDAY, REA, REPSM, RSIYEA, RSIDAY, ROMEGA) 11 8 12 ! A1.1.bis Constantes concernant l'orbite de la Terre: 9 13 REAL, SAVE :: R_ecc, R_peri, R_incl 14 !$OMP THREADPRIVATE(R_ecc, R_peri, R_incl) 15 10 16 ! A1.2 Geoide 11 17 REAL, SAVE :: RA, RG, R1SA 18 !$OMP THREADPRIVATE(RA, RG, R1SA) 19 12 20 ! A1.3 Radiation 13 21 REAL, SAVE :: RSIGMA 22 !$OMP THREADPRIVATE(RSIGMA) 23 14 24 ! A1.4 Thermodynamic gas phase 15 25 REAL, SAVE :: R, RMD, RMV, RD, RV, RCPD, RCPV, RCVD, RCVV 26 !$OMP THREADPRIVATE(R, RMD, RMV, RD, RV, RCPD, RCPV, RCVD, RCVV) 16 27 REAL, SAVE :: RKAPPA, RETV 28 !$OMP THREADPRIVATE(RKAPPA, RETV) 29 17 30 ! A1.5,6 Thermodynamic liquid,solid phases 18 31 REAL, SAVE :: RCW, RCS 32 !$OMP THREADPRIVATE(RCW, RCS) 33 19 34 ! A1.7 Thermodynamic transition of phase 20 35 REAL, SAVE :: RLVTT, RLSTT, RLMLT, RTT, RATM 36 !$OMP THREADPRIVATE(RLVTT, RLSTT, RLMLT, RTT, RATM) 37 21 38 ! A1.8 Curve of saturation 22 39 REAL, SAVE :: RESTT, RALPW, RBETW, RGAMW, RALPS, RBETS, RGAMS 40 !$OMP THREADPRIVATE(RESTT, RALPW, RBETW, RGAMW, RALPS, RBETS, RGAMS) 23 41 REAL, SAVE :: RALPD, RBETD, RGAMD 42 !$OMP THREADPRIVATE(RALPD, RBETD, RGAMD) 24 43 25 44 END MODULE YOMCST_mod -
trunk/LMDZ.VENUS/libf/phyvenus/ini_histday.h
r1530 r3895 8 8 9 9 idayref = day_ref 10 CALL ymds2ju(annee_ref, 1, idayref, zero, zjulian)10 CALL ymds2ju(annee_ref, 1, idayref, 0., zjulian) 11 11 12 12 call histbeg_phy("histday.nc",itau_phy, -
trunk/LMDZ.VENUS/libf/phyvenus/ini_histins.h
r1661 r3895 8 8 9 9 idayref = day_ref 10 CALL ymds2ju(annee_ref, 1, idayref, zero, zjulian)10 CALL ymds2ju(annee_ref, 1, idayref, 0., zjulian) 11 11 12 12 call histbeg_phy("histins.nc",itau_phy, -
trunk/LMDZ.VENUS/libf/phyvenus/ini_histmth.h
r3451 r3895 8 8 9 9 idayref = day_ref 10 CALL ymds2ju(annee_ref, 1, idayref, zero, zjulian)10 CALL ymds2ju(annee_ref, 1, idayref, 0., zjulian) 11 11 12 12 call histbeg_phy("histmth.nc",itau_phy, -
trunk/LMDZ.VENUS/libf/phyvenus/physiq_mod.F
r3892 r3895 59 59 c d_ps----output-R-tendance physique de la pression au sol 60 60 c====================================================================== 61 USE ioipsl 61 USE ioipsl, only: ymds2ju, histvert, histdef, histend, histsync 62 62 ! USE histcom ! not needed; histcom is included in ioipsl 63 63 use dimphy … … 109 109 IMPLICIT none 110 110 c====================================================================== 111 c C LEFS CPP POUR LES IO112 c ===================== 111 c CPP flags for IOIPSL outputs (obsolete and not needed if using XIOS) 112 c =================================================================== 113 113 #ifndef MESOSCALE 114 c#define histhf 114 #ifndef CPP_XIOS 115 115 #define histday 116 116 #define histmth 117 117 #define histins 118 #endif 118 119 #endif 119 120 c====================================================================== … … 123 124 #include "hedin.h" 124 125 c====================================================================== 125 LOGICAL, SAVE :: ok_journe ! sortir le fichier journalier126 LOGICAL, SAVE :: ok_journe ! flag to output IOIPSL file histday 126 127 !$OMP THREADPRIVATE(ok_journe) 127 c PARAMETER (ok_journe=.true.) 128 c 129 LOGICAL, SAVE :: ok_mensuel ! sortir le fichier mensuel 128 129 LOGICAL, SAVE :: ok_mensuel ! flag to output IOIPSL file histmth 130 130 !$OMP THREADPRIVATE(ok_mensuel) 131 131 132 c PARAMETER (ok_mensuel=.true.) 133 c 134 LOGICAL, SAVE :: ok_instan ! sortir le fichier instantane 132 LOGICAL, SAVE :: ok_instan ! flag to output IOIPSL file histins 135 133 !$OMP THREADPRIVATE(ok_instan) 136 c PARAMETER (ok_instan=.true.) 137 c 134 138 135 c====================================================================== 139 136 c … … 172 169 REAL,INTENT(OUT) :: d_ps(klon) 173 170 174 logical, save :: ok_hf175 !$OMP THREADPRIVATE(ok_hf)176 real, save :: ecrit_hf177 !$OMP THREADPRIVATE(ecrit_hf)178 integer, save :: nid_hf179 !$OMP THREADPRIVATE(nid_hf)180 181 #ifdef histhf182 data ok_hf,ecrit_hf/.true.,0.25/183 #else184 data ok_hf/.false./185 #endif186 171 187 172 c Variables propres a la physique … … 189 174 integer,save :: itap ! physics counter 190 175 !$OMP THREADPRIVATE(itap) 191 REAL delp(klon,klev) ! epaisseur d'une couche192 REAL omega(klon,klev) ! v itesse verticale en Pa/s (+ downward)193 REAL vertwind(klon,klev) ! v itesse verticale en m/s (+ upward)176 REAL delp(klon,klev) ! thickness of atmospheric layers (in pressure) 177 REAL omega(klon,klev) ! vertical velocity in Pa/s (+ downward) 178 REAL vertwind(klon,klev) ! vertical velocity in m/s (+ upward) 194 179 195 180 INTEGER igwd,idx(klon),itest(klon) … … 266 251 INTEGER i, k, iq, ig, j, ll, ilon, ilat, ilev, isoil 267 252 c 268 REAL zphi(klon,klev) 269 REAL zzlev(klon,klev+1),zzlay(klon,klev),z1,z2 270 REAL tlaymean ! valeur temporaire pour calculer zzlay 271 real tsurf(klon) 253 REAL zphi(klon,klev) ! absolute geopotential 254 REAL zzlev(klon,klev+1) ! altitude (wrt surface) of atmospheric layer boundaries 255 REAL zzlay(klon,klev) ! altitude (wrt surface) of atmospheric mid-layers 256 REAL z1,z2 257 REAL tlaymean ! temporairy variable to compute zzlay 258 real tsurf(klon) ! surface temperature (K) ! Ehouarn: again? what about ftsol? 272 259 273 260 c va avec nlte_tcool … … 356 343 !$OMP THREADPRIVATE(nid_day,nid_mth,nid_ins) 357 344 INTEGER nhori, nvert, idayref 358 REAL zsto, zout, zsto1, zsto2 , zero359 parameter (zero=0.0e0) 345 REAL zsto, zout, zsto1, zsto2 346 360 347 real, save :: zjulian 361 348 !$OMP THREADPRIVATE(zjulian) … … 371 358 character*20 varunits 372 359 C Variables liees au bilan d'energie et d'enthalpi 373 REAL ztsol(klon) 360 REAL ztsol(klon) ! surface temperature (K), updated by parametrizations 374 361 REAL, SAVE :: h_vcol_tot, h_dair_tot, h_qw_tot, h_ql_tot 375 362 !$OMP THREADPRIVATE(h_vcol_tot,h_dair_tot,h_qw_tot,h_ql_tot) … … 402 389 REAL :: dt_dyn(klev) 403 390 #endif 404 c Declaration des constantes et des fonctions thermodynamiques405 c406 c #include "YOMCST.h"407 391 408 392 c====================================================================== … … 665 649 ENDIF 666 650 667 c Initialisation des sorties 668 c=========================== 669 651 c Initializations for IOIPSL outputs (obsolete if using XIOS) 652 c============================================================ 670 653 #ifdef CPP_IOIPSL 671 672 #ifdef histhf673 #include "ini_histhf.h"674 #endif675 654 676 655 #ifdef histday … … 872 851 c GEOP CORRECTION 873 852 c 874 c A jouter le geopotentiel du sol:853 c Add surface geopotential: 875 854 c 876 855 DO k = 1, klev … … 945 924 c==================================================================== 946 925 c 947 c Verifier lestemperatures926 c Check input temperatures 948 927 c 949 928 CALL hgardfou(t_seri,ftsol,'debutphy') 950 929 951 930 c==================================================================== 952 c Orbit e et eclairement953 c======================= 954 955 c Pour VENUS, on fixe l'obliquite a 0 et l'eccentricite a0.956 c donc pas de variations de Ls, ni dedist.957 c La seule chose qui compte, c'est la rotation de la planete devant958 c le Soleil...931 c Orbit and sola zenith angle 932 c============================ 933 934 c For VENUS, we set an obliquity of 0 and an eccentricity of 0. 935 c so no Ls variation, nor for dist. 936 c the only important aspect is the planet rotation and the resulting 937 c position of the Sun above... 959 938 960 939 zlongi = 0.0 961 dist = 0.72333 ! en UA962 963 c Si on veut remettre l'obliquite a 3 degres et/ou l'eccentricite964 c a sa valeur, et prendre en compte leur evolution,965 c il faudra refaire unorbite.F...940 dist = 0.72333 ! in UA 941 942 c To set obliquity to 3 degres and/or change eccentricity 943 c and account for the resulting orbital changes 944 c we would need to code an adequate orbite.F... 966 945 c CALL orbite(zlongi,dist) 967 946 968 947 IF (cycle_diurne) THEN 969 zdtime=dtime*REAL(radpas) ! pas de temps du rayonnement(s)948 zdtime=dtime*REAL(radpas) ! radiative time step (s) 970 949 CALL zenang(zlongi,gmtime,zdtime,latitude_deg,longitude_deg, 971 950 & rmu0,fract) … … 974 953 ENDIF 975 954 976 ! print fraction of venus day 955 ! print fraction of venus day, i.e. time of day at longitude 0 977 956 978 957 if (is_master) then … … 981 960 982 961 c====================================================================== 983 c FININITIALISATIONS962 c END OF INITIALISATIONS 984 963 c====================================================================== 985 964 c====================================================================== … … 1276 1255 ENDDO 1277 1256 1278 c Incrementer la temperature du sol1257 c Update surface and subsurface temperatures 1279 1258 c 1280 1259 DO i = 1, klon … … 1394 1373 C 1395 1374 c 1396 c Incrementer la temperature du sol1375 c Update surface temperature 1397 1376 c 1398 1377 DO i = 1, klon … … 1400 1379 ENDDO 1401 1380 1402 c C alculer la derive du flux infrarouge1381 c Compute derivative of infrared flux 1403 1382 c 1404 1383 DO i = 1, klon … … 1416 1395 1417 1396 c=================================================================== 1418 c Convection seche1397 c Dry Convection 1419 1398 c=================================================================== 1420 1399 c … … 1425 1404 c 1426 1405 IF(prt_level>9)WRITE(lunout,*) 1427 . ' AVANT LA CONVECTION SECHE, iflag_ajs='1406 . 'BEFORE DRY CONVECTION , iflag_ajs=' 1428 1407 s ,iflag_ajs 1429 1408 … … 1431 1410 c Rien 1432 1411 c ==== 1433 IF(prt_level>9)WRITE(lunout,*)' pas deconvection'1412 IF(prt_level>9)WRITE(lunout,*)'no dry convection' 1434 1413 1435 1414 else if(iflag_ajs.eq.1) then 1436 1415 1437 c Ajustement sec1438 c ============== 1416 c Dry convetive adjustement 1417 c ======================== 1439 1418 IF(prt_level>9)WRITE(lunout,*)'ajsec' 1440 1419 … … 1484 1463 1485 1464 c==================================================================== 1486 c RA YONNEMENT1465 c RADIATION 1487 1466 c==================================================================== 1488 1467 if (mod(itap,radpas) == 0) then 1489 1468 1490 dtimerad = dtime*REAL(radpas) ! pas de temps du rayonnement(s)1491 1492 ! update m mean1469 dtimerad = dtime*REAL(radpas) ! radiative time step (s) 1470 1471 ! update mean molecular mass mmean 1493 1472 if (ok_chem) then 1494 1473 mmean(:,:) = 0. … … 2086 2065 #ifndef MESOSCALE 2087 2066 #ifdef CPP_IOIPSL 2088 2089 #ifdef histhf2090 #include "write_histhf.h"2091 #endif2092 2067 2093 2068 #ifdef histday
Note: See TracChangeset
for help on using the changeset viewer.
