Changeset 1654 for LMDZ5/trunk
- Timestamp:
- Sep 24, 2012, 5:07:18 PM (12 years ago)
- Location:
- LMDZ5/trunk
- Files:
-
- 4 added
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/libf/dyn3d/calfis.F
r1617 r1654 179 179 ! REAL rdayvrai 180 180 REAL, intent(in):: jD_cur, jH_cur 181 182 LOGICAL tracerdyn 183 181 184 c 182 185 c----------------------------------------------------------------------- … … 459 462 zdqfic(:,:,:)=0. 460 463 461 if (planet_type=="earth") then462 464 #ifdef CPP_PHYS 463 465 … … 467 469 debut_split=debut.and.isplit==1 468 470 lafin_split=lafin.and.isplit==nsplit_phys 471 472 if (planet_type=="earth") then 469 473 470 474 CALL physiq (ngridmx, … … 495 499 . PVteta) 496 500 501 else if ( planet_type=="generic" ) then 502 503 CALL physiq (ngridmx, !! ngrid 504 . llm, !! nlayer 505 . nqtot, !! nq 506 . tname, !! tracer names from dynamical core (given in infotrac) 507 . debut_split, !! firstcall 508 . lafin_split, !! lastcall 509 . float(day_ini), !! pday <-- day_ini (dans temps.h) 510 . jH_cur_split, !! ptime "fraction of day" 511 . zdt_split, !! ptimestep 512 . zplev, !! pplev 513 . zplay, !! pplay 514 . zphi, !! pphi 515 . zufi, !! pu 516 . zvfi, !! pv 517 . ztfi, !! pt 518 . zqfi, !! pq 519 . flxwfi, !! pw !! or 0. anyway this is for diagnostic. not used in physiq. 520 . zdufi, !! pdu 521 . zdvfi, !! pdv 522 . zdtfi, !! pdt 523 . zdqfi, !! pdq 524 . zdpsrf, !! pdpsrf 525 . tracerdyn) !! tracerdyn <-- utilite ??? 526 527 endif ! of if (planet_type=="earth") 528 497 529 zufi(:,:)=zufi(:,:)+zdufi(:,:)*zdt_split 498 530 zvfi(:,:)=zvfi(:,:)+zdvfi(:,:)*zdt_split … … 509 541 #endif 510 542 ! of #ifdef CPP_PHYS 511 endif ! of if (planet_type=="earth")512 543 513 544 zdufi(:,:)=zdufic(:,:)/nsplit_phys -
LMDZ5/trunk/libf/dyn3d/comvert.h
r1625 r1654 7 7 COMMON/comvertr/ap(llm+1),bp(llm+1),presnivs(llm),dpres(llm), & 8 8 & pa,preff,nivsigs(llm),nivsig(llm+1), & 9 & aps(llm),bps(llm),scaleheight 9 & aps(llm),bps(llm),scaleheight,pseudoalt(llm) 10 10 11 11 common/comverti/disvert_type, pressure_exner … … 23 23 real bps ! hybrid sigma contribution at mid-layers 24 24 real scaleheight ! atmospheric (reference) scale height (km) 25 real pseudoalt ! for planets 25 26 26 27 integer disvert_type ! type of vertical discretization: -
LMDZ5/trunk/libf/dyn3d/disvert_noterre.F
r1520 r1654 46 46 real tt,rr,gg, prevz 47 47 real s(llm),dsig(llm) 48 real pseudoalt(llm)49 48 50 49 integer iz -
LMDZ5/trunk/libf/dyn3d/dynetat0.F
r1635 r1654 7 7 USE infotrac 8 8 use netcdf, only: nf90_get_var 9 10 use control_mod, only : planet_type 11 9 12 IMPLICIT NONE 10 13 … … 54 57 INTEGER ierr, nid, nvarid 55 58 59 INTEGER idecal 60 56 61 c----------------------------------------------------------------------- 57 62 … … 77 82 ENDIF 78 83 84 !!! AS: idecal is a hack to be able to read planeto starts... 85 !!! .... while keeping everything OK for LMDZ EARTH 86 if (planet_type.eq."generic") then 87 print*,'NOTE NOTE NOTE : Planeto-like start files' 88 idecal = 4 89 annee_ref = 2000 90 else 91 print*,'NOTE NOTE NOTE : Earth-like start files' 92 idecal = 5 93 annee_ref = tab_cntrl(5) 94 endif 95 96 79 97 im = tab_cntrl(1) 80 98 jm = tab_cntrl(2) 81 99 lllm = tab_cntrl(3) 82 100 day_ref = tab_cntrl(4) 83 annee_ref = tab_cntrl(5) 84 rad = tab_cntrl(6) 85 omeg = tab_cntrl(7) 86 g = tab_cntrl(8) 87 cpp = tab_cntrl(9) 88 kappa = tab_cntrl(10) 89 daysec = tab_cntrl(11) 90 dtvr = tab_cntrl(12) 91 etot0 = tab_cntrl(13) 92 ptot0 = tab_cntrl(14) 93 ztot0 = tab_cntrl(15) 94 stot0 = tab_cntrl(16) 95 ang0 = tab_cntrl(17) 96 pa = tab_cntrl(18) 97 preff = tab_cntrl(19) 98 c 99 clon = tab_cntrl(20) 100 clat = tab_cntrl(21) 101 grossismx = tab_cntrl(22) 102 grossismy = tab_cntrl(23) 103 c 104 IF ( tab_cntrl(24).EQ.1. ) THEN 101 rad = tab_cntrl(idecal+1) 102 omeg = tab_cntrl(idecal+2) 103 g = tab_cntrl(idecal+3) 104 cpp = tab_cntrl(idecal+4) 105 kappa = tab_cntrl(idecal+5) 106 daysec = tab_cntrl(idecal+6) 107 dtvr = tab_cntrl(idecal+7) 108 etot0 = tab_cntrl(idecal+8) 109 ptot0 = tab_cntrl(idecal+9) 110 ztot0 = tab_cntrl(idecal+10) 111 stot0 = tab_cntrl(idecal+11) 112 ang0 = tab_cntrl(idecal+12) 113 pa = tab_cntrl(idecal+13) 114 preff = tab_cntrl(idecal+14) 115 c 116 clon = tab_cntrl(idecal+15) 117 clat = tab_cntrl(idecal+16) 118 grossismx = tab_cntrl(idecal+17) 119 grossismy = tab_cntrl(idecal+18) 120 c 121 IF ( tab_cntrl(idecal+19).EQ.1. ) THEN 105 122 fxyhypb = . TRUE . 106 123 c dzoomx = tab_cntrl(25) … … 111 128 fxyhypb = . FALSE . 112 129 ysinus = . FALSE . 113 IF( tab_cntrl( 27).EQ.1. ) ysinus = . TRUE.130 IF( tab_cntrl(idecal+22).EQ.1. ) ysinus = . TRUE. 114 131 ENDIF 115 132 … … 225 242 IF (ierr .NE. NF_NOERR) THEN 226 243 write(lunout,*)"dynetat0: Le champ <temps> est absent" 227 CALL abort 244 write(lunout,*)"dynetat0: J essaie <Time>" 245 ierr = NF_INQ_VARID (nid, "Time", nvarid) 246 IF (ierr .NE. NF_NOERR) THEN 247 write(lunout,*)"dynetat0: Le champ <Time> est absent" 248 CALL abort 249 ENDIF 228 250 ENDIF 229 251 ierr = nf90_get_var(nid, nvarid, time) -
LMDZ5/trunk/libf/dyn3dpar/calfis_p.F
r1617 r1654 242 242 integer :: k,kstart,kend 243 243 INTEGER :: offset 244 245 LOGICAL tracerdyn 244 246 c 245 247 c----------------------------------------------------------------------- … … 636 638 zdqfic_omp(:,:,:)=0. 637 639 638 if (planet_type=="earth") then639 640 #ifdef CPP_PHYS 640 641 do isplit=1,nsplit_phys … … 644 645 lafin_split=lafin.and.isplit==nsplit_phys 645 646 647 if (planet_type=="earth") then 646 648 647 649 CALL physiq (klon, … … 674 676 . PVteta) 675 677 678 else if ( planet_type=="generic" ) then 679 680 CALL physiq (klon, !! ngrid 681 . llm, !! nlayer 682 . nqtot, !! nq 683 . tname, !! tracer names from dynamical core (given in infotrac) 684 . debut_split, !! firstcall 685 . lafin_split, !! lastcall 686 . float(day_ini), !! pday <-- day_ini (dans temps.h) 687 . jH_cur_split, !! ptime "fraction of day" 688 . zdt_split, !! ptimestep 689 . zplev_omp, !! pplev 690 . zplay_omp, !! pplay 691 . zphi_omp, !! pphi 692 . zufi_omp, !! pu 693 . zvfi_omp, !! pv 694 . ztfi_omp, !! pt 695 . zqfi_omp, !! pq 696 . flxwfi_omp, !! pw !! or 0. anyway this is for diagnostic. not used in physiq. 697 . zdufi_omp, !! pdu 698 . zdvfi_omp, !! pdv 699 . zdtfi_omp, !! pdt 700 . zdqfi_omp, !! pdq 701 . zdpsrf_omp, !! pdpsrf 702 . tracerdyn) !! tracerdyn <-- utilite ??? 703 704 endif ! of if (planet_type=="earth") 705 706 676 707 zufi_omp(:,:)=zufi_omp(:,:)+zdufi_omp(:,:)*zdt_split 677 708 zvfi_omp(:,:)=zvfi_omp(:,:)+zdvfi_omp(:,:)*zdt_split … … 688 719 #endif 689 720 ! of #ifdef CPP_PHYS 690 endif !of if (planet_type=="earth")691 721 692 722 zdufi_omp(:,:)=zdufic_omp(:,:)/nsplit_phys -
LMDZ5/trunk/libf/dyn3dpar/comvert.h
r1625 r1654 7 7 COMMON/comvertr/ap(llm+1),bp(llm+1),presnivs(llm),dpres(llm), & 8 8 & pa,preff,nivsigs(llm),nivsig(llm+1), & 9 & aps(llm),bps(llm),scaleheight 9 & aps(llm),bps(llm),scaleheight,pseudoalt(llm) 10 10 11 11 common/comverti/disvert_type, pressure_exner … … 23 23 real bps ! hybrid sigma contribution at mid-layers 24 24 real scaleheight ! atmospheric (reference) scale height (km) 25 real pseudoalt ! for planets 25 26 26 27 integer disvert_type ! type of vertical discretization: -
LMDZ5/trunk/libf/dyn3dpar/disvert_noterre.F
r1520 r1654 46 46 real tt,rr,gg, prevz 47 47 real s(llm),dsig(llm) 48 real pseudoalt(llm)49 48 50 49 integer iz -
LMDZ5/trunk/libf/dyn3dpar/dynetat0.F
r1635 r1654 7 7 USE infotrac 8 8 use netcdf, only: nf90_get_var 9 10 use control_mod, only : planet_type 11 9 12 IMPLICIT NONE 10 13 … … 54 57 INTEGER ierr, nid, nvarid 55 58 59 INTEGER idecal 60 56 61 c----------------------------------------------------------------------- 57 62 … … 77 82 ENDIF 78 83 84 !!! AS: idecal is a hack to be able to read planeto starts... 85 !!! .... while keeping everything OK for LMDZ EARTH 86 if (planet_type.eq."generic") then 87 print*,'NOTE NOTE NOTE : Planeto-like start files' 88 idecal = 4 89 annee_ref = 2000 90 else 91 print*,'NOTE NOTE NOTE : Earth-like start files' 92 idecal = 5 93 annee_ref = tab_cntrl(5) 94 endif 95 96 79 97 im = tab_cntrl(1) 80 98 jm = tab_cntrl(2) 81 99 lllm = tab_cntrl(3) 82 100 day_ref = tab_cntrl(4) 83 annee_ref = tab_cntrl(5) 84 rad = tab_cntrl(6) 85 omeg = tab_cntrl(7) 86 g = tab_cntrl(8) 87 cpp = tab_cntrl(9) 88 kappa = tab_cntrl(10) 89 daysec = tab_cntrl(11) 90 dtvr = tab_cntrl(12) 91 etot0 = tab_cntrl(13) 92 ptot0 = tab_cntrl(14) 93 ztot0 = tab_cntrl(15) 94 stot0 = tab_cntrl(16) 95 ang0 = tab_cntrl(17) 96 pa = tab_cntrl(18) 97 preff = tab_cntrl(19) 98 c 99 clon = tab_cntrl(20) 100 clat = tab_cntrl(21) 101 grossismx = tab_cntrl(22) 102 grossismy = tab_cntrl(23) 103 c 104 IF ( tab_cntrl(24).EQ.1. ) THEN 101 rad = tab_cntrl(idecal+1) 102 omeg = tab_cntrl(idecal+2) 103 g = tab_cntrl(idecal+3) 104 cpp = tab_cntrl(idecal+4) 105 kappa = tab_cntrl(idecal+5) 106 daysec = tab_cntrl(idecal+6) 107 dtvr = tab_cntrl(idecal+7) 108 etot0 = tab_cntrl(idecal+8) 109 ptot0 = tab_cntrl(idecal+9) 110 ztot0 = tab_cntrl(idecal+10) 111 stot0 = tab_cntrl(idecal+11) 112 ang0 = tab_cntrl(idecal+12) 113 pa = tab_cntrl(idecal+13) 114 preff = tab_cntrl(idecal+14) 115 c 116 clon = tab_cntrl(idecal+15) 117 clat = tab_cntrl(idecal+16) 118 grossismx = tab_cntrl(idecal+17) 119 grossismy = tab_cntrl(idecal+18) 120 c 121 IF ( tab_cntrl(idecal+19).EQ.1. ) THEN 105 122 fxyhypb = . TRUE . 106 123 c dzoomx = tab_cntrl(25) … … 111 128 fxyhypb = . FALSE . 112 129 ysinus = . FALSE . 113 IF( tab_cntrl( 27).EQ.1. ) ysinus = . TRUE.130 IF( tab_cntrl(idecal+22).EQ.1. ) ysinus = . TRUE. 114 131 ENDIF 115 132 … … 225 242 IF (ierr .NE. NF_NOERR) THEN 226 243 write(lunout,*)"dynetat0: Le champ <temps> est absent" 227 CALL abort 244 write(lunout,*)"dynetat0: J essaie <Time>" 245 ierr = NF_INQ_VARID (nid, "Time", nvarid) 246 IF (ierr .NE. NF_NOERR) THEN 247 write(lunout,*)"dynetat0: Le champ <Time> est absent" 248 CALL abort 249 ENDIF 228 250 ENDIF 229 251 ierr = nf90_get_var(nid, nvarid, time) -
LMDZ5/trunk/libf/phylmd/inistats.F
r1492 r1654 18 18 real, dimension(istime) :: lt 19 19 integer :: nvarid 20 real, dimension(llm) :: pseudoalt21 20 22 21 write (*,*)
Note: See TracChangeset
for help on using the changeset viewer.