Changeset 97 for trunk/libf/dyn3dpar
- Timestamp:
- Mar 22, 2011, 5:25:44 PM (14 years ago)
- Location:
- trunk/libf/dyn3dpar
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/libf/dyn3dpar/calfis_p.F
r52 r97 21 21 $ pdq, 22 22 $ flxw, 23 $ clesphy0,24 23 $ pdufi, 25 24 $ pdvfi, … … 144 143 REAL pdqfi(iip1,jjp1,llm,nqtot) 145 144 REAL pdpsfi(iip1,jjp1) 146 147 INTEGER longcles148 PARAMETER ( longcles = 20 )149 REAL clesphy0( longcles )150 145 151 146 #ifdef CPP_PHYS … … 691 686 . zphis_omp, 692 687 . presnivs_omp, 693 . clesphy0,694 688 . zufi_omp, 695 689 . zvfi_omp, … … 720 714 . zphis_omp, 721 715 . presnivs_omp, 722 . clesphy0,723 716 . zufi_omp, 724 717 . zvfi_omp, -
trunk/libf/dyn3dpar/ce0l.F90
r66 r97 42 42 #include "temps.h" 43 43 #include "logic.h" 44 INTEGER, PARAMETER :: longcles=2045 REAL, DIMENSION(longcles) :: clesphy046 44 REAL, DIMENSION(iip1,jjp1) :: masque 47 45 CHARACTER(LEN=15) :: calnd 48 46 !------------------------------------------------------------------------------- 49 CALL conf_gcm( 99, .TRUE. , clesphy0)47 CALL conf_gcm( 99, .TRUE. ) 50 48 51 49 CALL init_mpi -
trunk/libf/dyn3dpar/conf_gcm.F
r7 r97 4 4 c 5 5 c 6 SUBROUTINE conf_gcm( tapedef, etatinit , clesphy0)6 SUBROUTINE conf_gcm( tapedef, etatinit ) 7 7 c 8 8 #ifdef CPP_IOIPSL … … 26 26 c etatinit : = TRUE , on ne compare pas les valeurs des para- 27 27 c -metres du zoom avec celles lues sur le fichier start . 28 c clesphy0 : sortie .29 28 c 30 29 LOGICAL etatinit 31 30 INTEGER tapedef 32 31 33 INTEGER longcles34 PARAMETER( longcles = 20 )35 REAL clesphy0( longcles )36 c37 32 c Declarations : 38 33 c -------------- … … 157 152 CALL getin('raz_date', raz_date) 158 153 154 !Config Key = resetvarc 155 !Config Desc = Reinit des variables de controle 156 !Config Def = n 157 !Config Help = Reinit des variables de controle 158 resetvarc = .false. 159 CALL getin('resetvarc',resetvarc) 160 159 161 !Config Key = nday 160 162 !Config Desc = Nombre de jours d'integration … … 164 166 nday = 10 165 167 CALL getin('nday',nday) 168 169 !Config Key = less1day 170 !Config Desc = Possibilite d'integrer moins d'un jour 171 !Config Def = n 172 !Config Help = Possibilite d'integrer moins d'un jour 173 less1day = .false. 174 CALL getin('less1day',less1day) 175 176 !Config Key = fractday 177 !Config Desc = integration sur une fraction de jour 178 !Config Def = 0.01 179 !Config Help = integration sur une fraction de jour 180 fractday = 0.01 181 CALL getin('fractday',fractday) 166 182 167 183 !Config Key = day_step … … 628 644 write(lunout,*)' anneeref = ', anneeref 629 645 write(lunout,*)' nday = ', nday 646 if (less1day) then 647 write(lunout,*)' Run only for a fraction of day ! ' 648 write(lunout,*)' fractday = ', fractday 649 endif 630 650 write(lunout,*)' day_step = ', day_step 631 651 write(lunout,*)' iperiod = ', iperiod -
trunk/libf/dyn3dpar/control_mod.F90
r1 r97 24 24 LOGICAL ok_dyn_ave ! output averaged values of fields in the dynamics 25 25 ! in NetCDF files dyn_hist*ave.nc 26 LOGICAL :: resetvarc ! allows to reset the variables in sortvarc 27 LOGICAL :: less1day ! allows to run less than 1 day (for Venus) 28 REAL :: fractday ! fraction of the day to run in this case 26 29 27 30 END MODULE -
trunk/libf/dyn3dpar/gcm.F
r52 r97 79 79 #include "indicesol.h" 80 80 #endif 81 INTEGER longcles82 PARAMETER ( longcles = 20 )83 REAL clesphy0( longcles )84 SAVE clesphy085 86 81 87 82 … … 175 170 ! Ehouarn: dump possibility of using defrun 176 171 !#ifdef CPP_IOIPSL 177 CALL conf_gcm( 99, .TRUE. , clesphy0)172 CALL conf_gcm( 99, .TRUE. ) 178 173 !#else 179 174 ! CALL defrun( 99, .TRUE. , clesphy0 ) … … 240 235 call ioconf_calendar('gregorian') 241 236 write(lunout,*)'CALENDRIER CHOISI: Terrestre bissextile' 237 else if (calend == 'titan') then 238 ! call ioconf_calendar('titan') 239 write(lunout,*)'CALENDRIER CHOISI: Titan' 240 abort_message = 'A FAIRE...' 241 call abort_gcm(modname,abort_message,1) 242 else if (calend == 'venus') then 243 ! call ioconf_calendar('venus') 244 write(lunout,*)'CALENDRIER CHOISI: Venus' 245 abort_message = 'A FAIRE...' 246 call abort_gcm(modname,abort_message,1) 242 247 else 243 248 abort_message = 'Mauvais choix de calendrier' … … 382 387 mois = 1 383 388 heure = 0. 389 ! Ce n'est defini pour l'instant que pour la Terre... 390 if (planet_type.eq.'earth') then 384 391 call ymds2ju(annee_ref, mois, day_ref, heure, jD_ref) 385 392 jH_ref = jD_ref - int(jD_ref) … … 394 401 write(lunout,*)'jD_ref+jH_ref,an, mois, jour, heure' 395 402 write(lunout,*)jD_ref+jH_ref,an, mois, jour, heure 403 else 404 ! A voir pour Titan et Venus 405 jD_ref=0 406 jH_ref=0 407 write(lunout,*)'A VOIR POUR VENUS ET TITAN: jD_ref, jH_ref' 408 write(lunout,*)jD_ref,jH_ref 409 endif ! planet_type 396 410 #else 397 411 ! Ehouarn: we still need to define JD_ref and JH_ref … … 491 505 492 506 #ifdef CPP_IOIPSL 507 ! Ce n'est defini pour l'instant que pour la Terre... 508 if (planet_type.eq.'earth') then 493 509 call ju2ymds(jD_ref + day_ini - day_ref, an, mois, jour, heure) 494 510 write (lunout,301)jour, mois, an 495 511 call ju2ymds(jD_ref + day_end - day_ref, an, mois, jour, heure) 496 512 write (lunout,302)jour, mois, an 513 else 514 ! A voir pour Titan et Venus 515 write(lunout,*)'A VOIR POUR VENUS ET TITAN: separation en annees...' 516 endif ! planet_type 517 497 518 301 FORMAT('1'/,15x,'run du ', i2,'/',i2,'/',i4) 498 519 302 FORMAT('1'/,15x,' au ', i2,'/',i2,'/',i4) … … 554 575 555 576 c$OMP PARALLEL DEFAULT(SHARED) COPYIN(/temps/,/logic/) 556 CALL leapfrog_p(ucov,vcov,teta,ps,masse,phis,q, clesphy0,577 CALL leapfrog_p(ucov,vcov,teta,ps,masse,phis,q, 557 578 . time_0) 558 579 c$OMP END PARALLEL -
trunk/libf/dyn3dpar/leapfrog_p.F
r52 r97 5 5 c 6 6 7 SUBROUTINE leapfrog_p(ucov,vcov,teta,ps,masse,phis,q, clesphy0,7 SUBROUTINE leapfrog_p(ucov,vcov,teta,ps,masse,phis,q, 8 8 & time_0) 9 9 … … 70 70 #include "academic.h" 71 71 72 INTEGER longcles73 PARAMETER ( longcles = 20 )74 REAL clesphy0( longcles )75 76 72 real zqmin,zqmax 77 73 INTEGER nbetatmoy, nbetatdem,nbetat … … 219 215 220 216 itaufin = nday*day_step 217 if (less1day) then 218 c MODIF VENUS: to run less than one day: 219 itaufin = int(fractday*day_step) 220 endif 221 221 itaufinp1 = itaufin +1 222 222 modname="leapfrog_p" … … 820 820 $ du,dv,dteta,dq, 821 821 $ flxw, 822 $ clesphy0,dufi,dvfi,dtetafi,dqfi,dpfi )822 $ dufi,dvfi,dtetafi,dqfi,dpfi ) 823 823 ! CALL FTRACE_REGION_END("calfis") 824 824 ijb=ij_begin -
trunk/libf/dyn3dpar/sortvarc.F
r1 r97 55 55 56 56 REAL SSUM 57 58 logical firstcal 59 data firstcal/.true./ 60 save firstcal 57 61 58 62 c----------------------------------------------------------------------- … … 129 133 ang = SSUM( llm, angl, 1 ) 130 134 131 c rday = REAL(INT ( day_ini + time )) 132 c 135 IF (firstcal.and.resetvarc) then 133 136 rday = REAL(INT(time-jD_ref-jH_ref)) 134 IF(ptot0.eq.0.) THEN135 137 PRINT 3500, itau, rday, heure,time 136 138 PRINT*,'WARNING!!! On recalcule les valeurs initiales de :' … … 151 153 ang = ang /ang0 152 154 155 firstcal = .false. 153 156 154 157 PRINT 3500, itau, rday, heure, time
Note: See TracChangeset
for help on using the changeset viewer.