Changeset 815 for trunk/LMDZ.TITAN/libf
- Timestamp:
- Oct 25, 2012, 10:11:15 AM (12 years ago)
- Location:
- trunk/LMDZ.TITAN/libf/phytitan
- Files:
-
- 1 added
- 1 deleted
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.TITAN/libf/phytitan/conf_phys.F90
r495 r815 400 400 call getin('clouds',clouds) 401 401 if (microfi.lt.1) clouds = 0 ! On ne fait pas de nuages sans microphysique ! 402 if (clouds.eq.1) cutoff = 0 ! si nuages, il faut mettre ca 402 403 403 404 ! -
trunk/LMDZ.TITAN/libf/phytitan/phyetat0.F
r814 r815 4 4 c 5 5 c 6 SUBROUTINE phyetat0 (fichnom, dtime,6 SUBROUTINE phyetat0 (fichnom, 7 7 . rlat,rlon, tsol,tsoil, 8 8 . albe, solsw, sollw, 9 9 . fder,radsol,resch4, 10 . tabcntr0,11 10 . t_ancien,ancien_ok) 12 11 c====================================================================== … … 21 20 #include "dimsoil.h" 22 21 #include "clesphys.h" 22 #include "tabcontrol.h" 23 23 #include "temps.h" 24 24 c====================================================================== 25 25 CHARACTER*(*) fichnom 26 REAL dtime27 INTEGER radpas,chimpas28 26 REAL rlat(klon), rlon(klon) ! in degrees 29 27 REAL tsol(klon) … … 48 46 INTEGER nid, nvarid 49 47 INTEGER ierr, i, nsrf, isoil 50 INTEGER length 51 PARAMETER (length=100) 52 REAL tab_cntrl(length), tabcntr0(length) 48 REAL tab_cntrl(length) 53 49 CHARACTER*2 str2 54 50 c … … 88 84 radpas = tab_cntrl(2) 89 85 chimpas = tab_cntrl(3) 86 lsinit = tab_cntrl(17) 90 87 91 88 ENDIF … … 94 91 95 92 c Attention si raz_date est active : 96 c il faut remettre a zero itau_phy apres phyetat0 ! 93 c il faut remettre a zero itau_phy apres phyetat0 94 c et verifier que lsinit est proche de 0. 97 95 IF (raz_date.eq.1) THEN 98 96 itau_phy=0 97 if ((lsinit.gt.3.).and.(lsinit.lt.357.)) then 98 PRINT*, 'phyetat0: raz_date=1 and ls different from 0.' 99 PRINT*, 'When raz_date=1, we reset the initial date' 100 PRINT*, 'to spring equinox, Ls=0., so the start files' 101 PRINT*, 'should be within a couple of degrees from Ls=0.' 102 PRINT*, 'or the circulation will be too far from equilibrium' 103 CALL abort 104 endif 99 105 ENDIF 100 106 -
trunk/LMDZ.TITAN/libf/phytitan/phyredem.F
r175 r815 3 3 ! 4 4 c 5 SUBROUTINE phyredem (fichnom, dtime,radpas,chimpas,5 SUBROUTINE phyredem (fichnom, 6 6 . rlat,rlon, tsol,tsoil, 7 7 . albedo, … … 21 21 #include "dimsoil.h" 22 22 #include "clesphys.h" 23 #include "tabcontrol.h" 23 24 #include "temps.h" 24 25 c====================================================================== 25 26 CHARACTER*13 fichnom 26 REAL dtime27 INTEGER radpas,chimpas28 27 REAL rlat(klon), rlon(klon) 29 28 REAL tsol(klon) … … 39 38 INTEGER nid, nvarid, idim1, idim2, idim3 40 39 INTEGER ierr 41 INTEGER length42 PARAMETER (length=100)43 40 REAL tab_cntrl(length) 44 41 c … … 73 70 tab_cntrl(6) = nbapp_rad 74 71 tab_cntrl(16)= nbapp_chim 72 tab_cntrl(17)= lsinit 75 73 76 74 IF( cycle_diurne ) tab_cntrl( 7 ) = 1. -
trunk/LMDZ.TITAN/libf/phytitan/physiq.F
r808 r815 76 76 #include "temps.h" 77 77 #include "iniprint.h" 78 #include "timerad.h"79 78 #include "logic.h" 80 79 #include "comorbit.h" 81 80 #include "microtab.h" 82 81 #include "diagmuphy.h" 82 #include "tabcontrol.h" 83 83 #include "itemps.h" 84 84 c====================================================================== … … 140 140 c 141 141 c Variables propres a la physique 142 c143 REAL dtime144 SAVE dtime ! pas temporel de la physique145 c146 INTEGER radpas147 SAVE radpas ! frequence d'appel rayonnement148 c149 INTEGER chimpas150 SAVE chimpas ! frequence d'appel chimie151 142 c 152 143 REAL,save,allocatable :: radsol(:) ! bilan radiatif au sol calcule par code radiatif … … 271 262 REAL tmpout(klon,klev) ! K s-1 272 263 264 REAL dtimerad 273 265 INTEGER itaprad 274 SAVE itaprad 266 SAVE itaprad,dtimerad 275 267 REAL zdtime 276 268 c … … 286 278 REAL dist, rmu0(klon), fract(klon), pdecli 287 279 REAL zday 288 REAL zls,zls m1280 REAL zls,zlsdeg 289 281 c 290 282 INTEGER i, k, iq, ig, j, ll, l … … 338 330 c 339 331 REAL tr_seri(klon,klev,nqmax) 340 341 INTEGER length342 PARAMETER ( length = 100 )343 REAL tabcntr0( length )344 332 c 345 333 c pour ioipsl … … 492 480 c 493 481 c REMETTRE TOUS LES PARAMETRES POUR OROGW... A FAIRE POUR TITAN 494 CALL phyetat0 ("startphy.nc", dtime,482 CALL phyetat0 ("startphy.nc", 495 483 . rlatd,rlond,ftsol,ftsoil, 496 484 . falbe, solsw, sollw, 497 485 . dlw,radsol,reservoir, 498 486 c . zmea,zstd,zsig,zgam,zthe,zpic,zval, 499 . tabcntr0,500 487 . t_ancien, ancien_ok) 501 488 502 c dtime est lu dans startphy489 c dtime est defini dans tabcontrol.h et lu dans startphy 503 490 c pdtphys est calcule a partir des nouvelles conditions: 504 491 c Reinitialisation du pas de temps physique quand changement … … 519 506 chimpas = radpas*nbapp_rad/nbapp_chim 520 507 521 CALL printflag( tabcntr0,radpas,chimpas,ok_mensuel, 522 . ok_journe, ok_instan ) 508 CALL printflag( ok_mensuel,ok_journe, ok_instan ) 523 509 524 510 c … … 861 847 c calcul de la longitude solaire 862 848 CALL solarlong(rjourvrai+gmtime,zls) 863 print*,'Ls',zls*180./RPI ! zls est en radians !! 849 zlsdeg = zls*180./RPI ! zls est en radians !! 850 print*,'Ls',zlsdeg 851 864 852 CALL orbite(zls,dist,pdecli) 865 IF (debut) zlsm1=zls866 853 867 854 c dans zenang, Ls en degres ; dans mucorr, Ls en radians 868 855 IF (cycle_diurne) THEN 869 856 zdtime=dtime*FLOAT(radpas) ! pas de temps du rayonnement (s) 870 CALL zenang(zls *180./RPI,gmtime,zdtime,rlatd,rlond,rmu0,fract)857 CALL zenang(zlsdeg,gmtime,zdtime,rlatd,rlond,rmu0,fract) 871 858 ELSE 872 859 call mucorr(klon,zls,rlatd,rmu0,fract) … … 1600 1587 IF (lafin) THEN 1601 1588 itau_phy = itau_phy + itap 1589 lsinit = zlsdeg 1602 1590 c REMETTRE TOUS LES PARAMETRES POUR OROGW... A FAIRE POUR TITAN 1603 CALL phyredem ("restartphy.nc", dtime,radpas,chimpas,1591 CALL phyredem ("restartphy.nc", 1604 1592 . rlatd, rlond, ftsol, ftsoil, 1605 1593 . falbe, -
trunk/LMDZ.TITAN/libf/phytitan/printflag.F
r102 r815 2 2 ! $Header: /home/cvsroot/LMDZ4/libf/phylmd/printflag.F,v 1.1.1.1 2004/05/19 12:53:09 lmdzadmin Exp $ 3 3 ! 4 SUBROUTINE printflag( tabcntr0, radpas, chimpas, ok_mensuel, 5 , ok_journe, ok_instan ) 4 SUBROUTINE printflag( ok_mensuel, ok_journe, ok_instan ) 6 5 c 7 6 … … 11 10 IMPLICIT NONE 12 11 13 REAL tabcntr0( 100 )14 12 LOGICAL cycle_diurn0,soil_model0,ok_orodr0 15 13 LOGICAL ok_orolf0,ok_gw_nonoro0 16 14 LOGICAL ok_mensuel, ok_journe, ok_instan 17 INTEGER radpas , radpas018 INTEGER chimpas , chimpas015 INTEGER radpas0 16 INTEGER chimpas0 19 17 c 20 18 #include "clesphys.h" 19 #include "tabcontrol.h" 21 20 #include "YOMCST.h" 22 21 c -
trunk/LMDZ.TITAN/libf/phytitan/radlwsw.F
r495 r815 1 SUBROUTINE radlwsw(dist, rmu0, fract, falbe, dtimerad,zzlev,1 SUBROUTINE radlwsw(dist, rmu0, fract, falbe, zzlev, 2 2 . paprs, pplay,tsol, pt, nq, nmicro, pq, 3 3 . qaer, … … 15 15 c fract----input-R- duree d'ensoleillement normalisee 16 16 c falbe----input-R- surface albedo 17 c dtimerad-input-R- intervalle de temps du radiatif18 17 c zzlev----input-R- altitudes des inter-couches (m) 19 18 c paprs----input-R- pression a inter-couche (Pa) … … 49 48 c ARGUMENTS 50 49 INTEGER nq,nmicro 51 real rmu0(klon), fract(klon), falbe(klon), dist , dtimerad50 real rmu0(klon), fract(klon), falbe(klon), dist 52 51 c 53 52 real zzlev(klon,klev+1),paprs(klon,klev+1), pplay(klon,klev) -
trunk/LMDZ.TITAN/libf/phytitan/radtitan.F
r808 r815 138 138 print*,'FHIR = ',FHIR 139 139 c on initialise le paquet optcld 140 call iniqcld()140 if (clouds.eq.1) call iniqcld() 141 141 iprem=1 142 142 endif
Note: See TracChangeset
for help on using the changeset viewer.