Changeset 1176 for LMDZ4/branches/LMDZ4-dev
- Timestamp:
- Jun 11, 2009, 10:54:10 AM (15 years ago)
- Location:
- LMDZ4/branches/LMDZ4-dev
- Files:
-
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ4/branches/LMDZ4-dev/arch/arch-PW6_VARGAS.path
r1161 r1176 5 5 set ORCH_INCDIR=$LMDGCM/../../lib 6 6 set ORCH_LIBDIR=$LMDGCM/../../lib 7 set OASIS_INCDIR=$LMDGCM/../../prism/ SX/build/lib/psmile.$couple8 set OASIS_LIBDIR=$LMDGCM/../../prism/ SX/lib7 set OASIS_INCDIR=$LMDGCM/../../prism/AIX6/build/lib/psmile.$couple 8 set OASIS_LIBDIR=$LMDGCM/../../prism/AIX6/lib 9 9 set INCA_LIBDIR=$LMDGCM/../INCA3/config/lib 10 10 set INCA_INCDIR=$LMDGCM/../INCA3/config/lib -
LMDZ4/branches/LMDZ4-dev/libf/dyn3d/advtrac.F
r1114 r1176 1 1 ! 2 ! $ Header$2 ! $Id$ 3 3 ! 4 4 c … … 30 30 #include "ener.h" 31 31 #include "description.h" 32 #include "iniprint.h" 32 33 33 34 c------------------------------------------------------------------- … … 74 75 DATA dum/.true./ 75 76 77 integer,save :: countcfl=0 78 real cflx(ip1jmp1,llm) 79 real cfly(ip1jm,llm) 80 real cflz(ip1jmp1,llm) 81 real, save :: cflxmax(llm),cflymax(llm),cflzmax(llm) 76 82 77 83 IF(iadvtr.EQ.0) THEN … … 139 145 ENDDO 140 146 147 148 c------------------------------------------------------------------- 149 ! Calcul des criteres CFL en X, Y et Z 150 c------------------------------------------------------------------- 151 152 if (countcfl == 0. ) then 153 cflxmax(:)=0. 154 cflymax(:)=0. 155 cflzmax(:)=0. 156 endif 157 158 countcfl=countcfl+iapp_tracvl 159 cflx(:,:)=0. 160 cfly(:,:)=0. 161 cflz(:,:)=0. 162 do l=1,llm 163 do ij=iip2,ip1jm-1 164 if (pbarug(ij,l)>=0.) then 165 cflx(ij,l)=pbarug(ij,l)*dtvr/masse(ij,l) 166 else 167 cflx(ij,l)=-pbarug(ij,l)*dtvr/masse(ij+1,l) 168 endif 169 enddo 170 enddo 171 do l=1,llm 172 do ij=iip2,ip1jm-1,iip1 173 cflx(ij+iip1,l)=cflx(ij,l) 174 enddo 175 enddo 176 177 do l=1,llm 178 do ij=1,ip1jm 179 if (pbarvg(ij,l)>=0.) then 180 cfly(ij,l)=pbarvg(ij,l)*dtvr/masse(ij,l) 181 else 182 cfly(ij,l)=-pbarvg(ij,l)*dtvr/masse(ij+iip1,l) 183 endif 184 enddo 185 enddo 186 187 do l=2,llm 188 do ij=1,ip1jm 189 if (wg(ij,l)>=0.) then 190 cflz(ij,l)=wg(ij,l)*dtvr/masse(ij,l) 191 else 192 cflz(ij,l)=-wg(ij,l)*dtvr/masse(ij,l-1) 193 endif 194 enddo 195 enddo 196 197 do l=1,llm 198 cflxmax(l)=max(cflxmax(l),maxval(cflx(:,l))) 199 cflymax(l)=max(cflymax(l),maxval(cfly(:,l))) 200 cflzmax(l)=max(cflzmax(l),maxval(cflz(:,l))) 201 enddo 202 203 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 204 ! Par defaut, on sort le diagnostic des CFL tous les jours. 205 ! Si on veut le sortir a chaque pas d'advection en cas de plantage 206 ! if (countcfl==iapp_tracvl) then 207 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 208 if (countcfl==day_step) then 209 do l=1,llm 210 write(lunout,*) 'L, CFLmax ' 211 s ,l,maxval(cflx(:,l)),maxval(cfly(:,l)),maxval(cflz(:,l)) 212 enddo 213 countcfl=0 214 endif 215 141 216 c------------------------------------------------------------------- 142 217 c Advection proprement dite (Modification Le Croller (07/2001) -
LMDZ4/branches/LMDZ4-dev/libf/dyn3d/comconst.h
r1106 r1176 1 1 ! 2 ! $ Header$2 ! $Id$ 3 3 ! 4 4 !----------------------------------------------------------------------- … … 7 7 COMMON/comconst/im,jm,lllm,imp1,jmp1,lllmm1,lllmp1,lcl, & 8 8 & dtvr,daysec, & 9 & pi,dtphys,dtdiss,rad,r,cpp,kappa,cotot,unsim,g,omeg 9 & pi,dtphys,dtdiss,rad,r,cpp,kappa,cotot,unsim,g,omeg & 10 & ,dissip_factz,dissip_deltaz,dissip_zref 11 10 12 11 13 INTEGER im,jm,lllm,imp1,jmp1,lllmm1,lllmp1,lcl … … 13 15 REAL pi,dtphys,dtdiss,rad,r,cpp,kappa 14 16 REAL cotot,unsim,g,omeg 17 REAL dissip_factz,dissip_deltaz,dissip_zref 15 18 16 19 !----------------------------------------------------------------------- -
LMDZ4/branches/LMDZ4-dev/libf/dyn3d/conf_gcm.F
r1143 r1176 1 1 ! 2 ! $ Header$2 ! $Id$ 3 3 ! 4 4 c … … 38 38 #include "serre.h" 39 39 #include "comdissnew.h" 40 #include "comconst.h" 40 41 41 42 ! FH 2008/05/09 On elimine toutes les clefs physiques dans la dynamique … … 267 268 tetatemp = 7200. 268 269 CALL getin('tetatemp',tetatemp ) 270 271 ! Parametres controlant la variation sur la verticale des constantes de 272 ! dissipation. 273 ! Pour le moment actifs uniquement dans la version a 39 niveaux 274 ! avec ok_strato=y 275 276 dissip_factz=4. 277 dissip_deltaz=10. 278 dissip_zref=30. 279 CALL getin('dissip_factz',dissip_factz ) 280 CALL getin('dissip_deltaz',dissip_deltaz ) 281 CALL getin('dissip_zref',dissip_zref ) 269 282 270 283 !Config Key = coefdis -
LMDZ4/branches/LMDZ4-dev/libf/dyn3d/inidissip.F
r524 r1176 1 1 ! 2 ! $ Header$2 ! $Id$ 3 3 ! 4 4 SUBROUTINE inidissip ( lstardis,nitergdiv,nitergrot,niterh , … … 18 18 #include "comvert.h" 19 19 #include "control.h" 20 #include "logic.h" 20 21 21 22 LOGICAL lstardis … … 29 30 INTEGER l,ij,idum,ii 30 31 REAL tetamin 32 REAL pseudoz 31 33 32 34 REAL ran1 … … 174 176 c -------------------------------------------------- 175 177 176 DO l=1,llm 177 zvert(l)=1. 178 ENDDO 179 180 fact=2. 181 c 182 DO l = 1, llm 183 zz = 1. - preff/presnivs(l) 184 zvert(l)= fact -( fact-1.)/( 1.+zz*zz ) 185 ENDDO 178 if (ok_strato .and. llm==39) then 179 do l=1,llm 180 pseudoz=8.*log(preff/presnivs(l)) 181 zvert(l)=1+ 182 s (tanh((pseudoz-dissip_zref)/dissip_deltaz)+1.)/2. 183 s *(dissip_factz-1.) 184 enddo 185 else 186 DO l=1,llm 187 zvert(l)=1. 188 ENDDO 189 fact=2. 190 DO l = 1, llm 191 zz = 1. - preff/presnivs(l) 192 zvert(l)= fact -( fact-1.)/( 1.+zz*zz ) 193 ENDDO 194 endif 186 195 187 196 -
LMDZ4/branches/LMDZ4-dev/libf/dyn3dpar/comconst.h
r1106 r1176 1 1 ! 2 ! $ Header$2 ! $Id$ 3 3 ! 4 4 !----------------------------------------------------------------------- … … 7 7 COMMON/comconst/im,jm,lllm,imp1,jmp1,lllmm1,lllmp1,lcl, & 8 8 & dtvr,daysec, & 9 & pi,dtphys,dtdiss,rad,r,cpp,kappa,cotot,unsim,g,omeg 9 & pi,dtphys,dtdiss,rad,r,cpp,kappa,cotot,unsim,g,omeg & 10 & ,dissip_factz,dissip_deltaz,dissip_zref 11 10 12 11 13 INTEGER im,jm,lllm,imp1,jmp1,lllmm1,lllmp1,lcl … … 13 15 REAL pi,dtphys,dtdiss,rad,r,cpp,kappa 14 16 REAL cotot,unsim,g,omeg 17 REAL dissip_factz,dissip_deltaz,dissip_zref 15 18 16 19 !----------------------------------------------------------------------- -
LMDZ4/branches/LMDZ4-dev/libf/dyn3dpar/conf_gcm.F
r1143 r1176 1 1 ! 2 ! $ Header$2 ! $Id$ 3 3 ! 4 4 c … … 44 44 !#include "clesphys.h" 45 45 #include "iniprint.h" 46 #include "comconst.h" 46 47 47 48 ! FH 2008/05/09 On elimine toutes les clefs physiques dans la dynamique … … 277 278 tetatemp = 7200. 278 279 CALL getin('tetatemp',tetatemp ) 280 281 ! Parametres controlant la variation sur la verticale des constantes de 282 ! dissipation. 283 ! Pour le moment actifs uniquement dans la version a 39 niveaux 284 ! avec ok_strato=y 285 286 dissip_factz=4. 287 dissip_deltaz=10. 288 dissip_zref=30. 289 CALL getin('dissip_factz',dissip_factz ) 290 CALL getin('dissip_deltaz',dissip_deltaz ) 291 CALL getin('dissip_zref',dissip_zref ) 279 292 280 293 !Config Key = coefdis … … 590 603 write(lunout,*)' read_start = ', read_start 591 604 write(lunout,*)' iflag_phys = ', iflag_phys 605 write(lunout,*)' iphysiq = ', iphysiq 592 606 write(lunout,*)' clonn = ', clonn 593 607 write(lunout,*)' clatt = ', clatt … … 776 790 !Config Desc = activation de la version strato 777 791 !Config Def = .FALSE. 778 !Config Help = active la version stratosph �rique de LMDZ de F. Lott792 !Config Help = active la version stratosphérique de LMDZ de F. Lott 779 793 780 794 ok_strato=.FALSE. … … 813 827 write(lunout,*)' read_start = ', read_start 814 828 write(lunout,*)' iflag_phys = ', iflag_phys 815 write(lunout,*)' clon = ', clon 829 write(lunout,*)' iphysiq = ', iphysiq 830 write(lunout,*)' clon = ', clon 816 831 write(lunout,*)' clat = ', clat 817 832 write(lunout,*)' grossismx = ', grossismx -
LMDZ4/branches/LMDZ4-dev/libf/dyn3dpar/inidissip.F
r774 r1176 1 1 ! 2 ! $ Header$2 ! $Id$ 3 3 ! 4 4 SUBROUTINE inidissip ( lstardis,nitergdiv,nitergrot,niterh , … … 18 18 #include "comvert.h" 19 19 #include "control.h" 20 #include "logic.h" 20 21 21 22 LOGICAL lstardis … … 29 30 INTEGER l,ij,idum,ii 30 31 REAL tetamin 32 REAL pseudoz 31 33 32 34 REAL ran1 … … 174 176 c -------------------------------------------------- 175 177 176 DO l=1,llm 177 zvert(l)=1. 178 ENDDO 179 180 fact=2. 181 c 182 DO l = 1, llm 183 zz = 1. - preff/presnivs(l) 184 zvert(l)= fact -( fact-1.)/( 1.+zz*zz ) 185 ENDDO 178 if (ok_strato .and. llm==39) then 179 do l=1,llm 180 pseudoz=8.*log(preff/presnivs(l)) 181 zvert(l)=1+ 182 s (tanh((pseudoz-dissip_zref)/dissip_deltaz)+1.)/2. 183 s *(dissip_factz-1.) 184 enddo 185 else 186 DO l=1,llm 187 zvert(l)=1. 188 ENDDO 189 fact=2. 190 DO l = 1, llm 191 zz = 1. - preff/presnivs(l) 192 zvert(l)= fact -( fact-1.)/( 1.+zz*zz ) 193 ENDDO 194 endif 186 195 187 196 -
LMDZ4/branches/LMDZ4-dev/libf/phylmd/clesphys.h
r1168 r1176 1 1 ! 2 ! 2 ! $Id$ 3 3 ! 4 4 ! ATTENTION!!!!: ce fichier include est compatible format fixe/format libre -
LMDZ4/branches/LMDZ4-dev/libf/phylmd/conf_phys.F90
r1168 r1176 1 1 2 2 ! 3 ! $ Header$3 ! $Id$ 4 4 ! 5 5 ! … … 133 133 REAL,SAVE :: lonmin_ins_omp, lonmax_ins_omp, latmin_ins_omp, latmax_ins_omp 134 134 REAL,SAVE :: ecrit_hf_omp, ecrit_day_omp, ecrit_mth_omp, ecrit_reg_omp 135 REAL,SAVE :: ecrit_ins_omp 135 136 REAL,SAVE :: ecrit_LES_omp 136 137 REAL,SAVE :: ecrit_tra_omp … … 1070 1071 ecrit_hf_omp = 1./8. 1071 1072 call getin('ecrit_hf',ecrit_hf_omp) 1073 ! 1074 !Config Key = ecrit_ins 1075 !Config Desc = 1076 !Config Def = 1./48. ! toutes les 1/2 h 1077 !Config Help = 1078 ! 1079 ecrit_ins_omp = 1./48. 1080 call getin('ecrit_ins',ecrit_ins_omp) 1072 1081 ! 1073 1082 !Config Key = ecrit_day … … 1369 1378 latmax_ins = latmax_ins_omp 1370 1379 ecrit_hf = ecrit_hf_omp 1380 ecrit_ins = ecrit_ins_omp 1371 1381 ecrit_day = ecrit_day_omp 1372 1382 ecrit_mth = ecrit_mth_omp … … 1518 1528 write(numout,*)' lonmin lonmax latmin latmax bilKP_ins =',& 1519 1529 lonmin_ins, lonmax_ins, latmin_ins, latmax_ins 1520 write(numout,*)' ecrit_ hf, day, mth, reg, tra, ISCCP, LES',&1521 ecrit_hf, ecrit_ day, ecrit_mth, ecrit_reg, ecrit_tra, ecrit_ISCCP, ecrit_LES1530 write(numout,*)' ecrit_ hf, ins, day, mth, reg, tra, ISCCP, LES',& 1531 ecrit_hf, ecrit_ins, ecrit_day, ecrit_mth, ecrit_reg, ecrit_tra, ecrit_ISCCP, ecrit_LES 1522 1532 1523 1533 write(numout,*) 'ok_strato = ', ok_strato -
LMDZ4/branches/LMDZ4-dev/libf/phylmd/phys_output_mod.F90
r1168 r1176 1 ! 2 ! $Id$ 3 ! 1 4 ! Abderrahmane 12 2007 2 5 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! … … 19 22 integer, dimension(nfiles), save :: lev_files 20 23 integer, dimension(nfiles), save :: nid_files 21 24 !$OMP THREADPRIVATE(clef_files, lev_files,nid_files) 25 22 26 integer, dimension(nfiles), private, save :: nhorim, nvertm 23 real, dimension(nfiles), private, save :: zstophym, zoutm 27 real, dimension(nfiles), private, save :: zoutm 28 real, private, save :: zdtime 24 29 CHARACTER(len=20), dimension(nfiles), private, save :: type_ecri 30 !$OMP THREADPRIVATE(nhorim, nvertm, zoutm,zdtime,type_ecri) 25 31 26 32 ! integer, save :: nid_hf3d … … 473 479 integer :: imin_ins, imax_ins 474 480 integer :: jmin_ins, jmax_ins 481 CHARACTER(len=20), dimension(nfiles) :: type_ecri_files 475 482 476 483 !!!!!!!!!! stockage dans une region limitee pour chaque fichier !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! … … 491 498 name_files(5) = 'histLES' 492 499 493 type_ecri (1) = 'ave(X)'494 type_ecri (2) = 'ave(X)'495 type_ecri (3) = 'ave(X)'496 type_ecri (4) = 'inst(X)'497 type_ecri (5) = 'ave(X)'500 type_ecri_files(1) = 'ave(X)' 501 type_ecri_files(2) = 'ave(X)' 502 type_ecri_files(3) = 'inst(X)' 503 type_ecri_files(4) = 'inst(X)' 504 type_ecri_files(5) = 'ave(X)' 498 505 499 506 clef_files(1) = ok_mensuel … … 524 531 call getin('phys_out_levmax',levmax) 525 532 call getin('phys_out_filenames',name_files) 526 call getin('phys_out_filetypes',type_ecri )533 call getin('phys_out_filetypes',type_ecri_files) 527 534 call getin('phys_out_filekeys',clef_files) 528 535 call getin('phys_out_filelevels',lev_files) 529 536 call getin('phys_out_filetimesteps',ecrit_files) 537 538 type_ecri(:) = type_ecri_files(:) 530 539 531 540 !!!!!!!!!!!!!!!!!!!!!!! Boucle sur les fichiers !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! … … 534 543 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 535 544 545 zdtime = dtime ! Frequence ou l on moyenne 546 536 547 DO iff=1,nfiles 537 548 538 549 IF (clef_files(iff)) THEN 539 550 540 zstophym(iff) = dtime ! Frequence ou l on moyenne541 551 zoutm(iff) = ecrit_files(iff) ! Frequence ou l on ecrit 542 552 … … 606 616 CALL histdef2d(iff,o_aire%flag,o_aire%name,"Grid area", "-") 607 617 CALL histdef2d(iff,o_contfracATM%flag,o_contfracATM%name,"% sfce ter+lic", "-") 608 type_ecri(1) = 'ave(X)' 609 type_ecri(2) = 'ave(X)' 610 type_ecri(3) = 'ave(X)' 611 type_ecri(4) = 'inst(X)' 612 type_ecri(5) = 'ave(X)' 618 type_ecri(:) = type_ecri_files(:) 613 619 614 620 !!! Champs 2D !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! … … 631 637 type_ecri(5) = 't_max(X)' 632 638 CALL histdef2d(iff,o_t2m_max%flag,o_t2m_max%name, "Temp 2m max", "K" ) 633 type_ecri(1) = 'ave(X)' 634 type_ecri(2) = 'ave(X)' 635 type_ecri(3) = 'ave(X)' 636 type_ecri(4) = 'inst(X)' 637 type_ecri(5) = 'ave(X)' 639 type_ecri(:) = type_ecri_files(:) 638 640 CALL histdef2d(iff,o_wind10m%flag,o_wind10m%name, "10-m wind speed", "m/s") 639 641 CALL histdef2d(iff,o_wind10max%flag,o_wind10max%name, "10m wind speed max", "m/s") … … 714 716 type_ecri(5) = 't_max(X)' 715 717 CALL histdef2d(iff,o_tke_max_srf(nsrf)%flag,o_tke_max_srf(nsrf)%name,"Max Turb. Kinetic Energy "//clnsurf(nsrf),"-") 716 type_ecri(1) = 'ave(X)' 717 type_ecri(2) = 'ave(X)' 718 type_ecri(3) = 'ave(X)' 719 type_ecri(4) = 'inst(X)' 720 type_ecri(5) = 'ave(X)' 718 type_ecri(:) = type_ecri_files(:) 721 719 endif 722 720 CALL histdef2d(iff,o_albe_srf(nsrf)%flag,o_albe_srf(nsrf)%name,"Albedo surf. "//clnsurf(nsrf),"-") … … 764 762 type_ecri(5) = 't_max(X)' 765 763 CALL histdef2d(iff,o_cape_max%flag,o_cape_max%name, "CAPE max.", "J/kg") 766 type_ecri(1) = 'ave(X)' 767 type_ecri(2) = 'ave(X)' 768 type_ecri(3) = 'ave(X)' 769 type_ecri(4) = 'inst(X)' 770 type_ecri(5) = 'ave(X)' 764 type_ecri(:) = type_ecri_files(:) 771 765 CALL histdef3d(iff,o_upwd%flag,o_upwd%name, "saturated updraft", "kg/m2/s") 772 766 CALL histdef3d(iff,o_Ma%flag,o_Ma%name, "undilute adiab updraft", "kg/m2/s") … … 793 787 ! on ecrit u v t q a 850 700 500 200 au niv 3 794 788 795 zstophym(iff) = ecrit_files(iff)796 789 type_ecri(1) = 'inst(X)' 797 790 type_ecri(2) = 'inst(X)' … … 817 810 ENDIF !(bb2.EQ."850".OR.bb2.EQ."700".OR."500".OR.bb2.EQ."200") 818 811 ENDDO 819 zstophym(iff) = dtime 820 type_ecri(1) = 'ave(X)' 821 type_ecri(2) = 'ave(X)' 822 type_ecri(3) = 'ave(X)' 823 type_ecri(4) = 'inst(X)' 824 type_ecri(5) = 'ave(X)' 812 type_ecri(:) = type_ecri_files(:) 825 813 826 814 CALL histdef2d(iff,o_t_oce_sic%flag,o_t_oce_sic%name, "Temp mixte oce-sic", "K") … … 890 878 type_ecri(5) = 't_max(X)' 891 879 CALL histdef3d(iff,o_tke_max%flag,o_tke_max%name, "TKE max", "m2/s2") 892 type_ecri(1) = 'ave(X)' 893 type_ecri(2) = 'ave(X)' 894 type_ecri(3) = 'ave(X)' 895 type_ecri(4) = 'inst(X)' 896 type_ecri(5) = 'ave(X)' 880 type_ecri(:) = type_ecri_files(:) 897 881 endif 898 882 … … 904 888 type_ecri(5) = 't_max(X)' 905 889 CALL histdef3d(iff,o_kz_max%flag,o_kz_max%name, "Kz melange max", "m2/s" ) 906 type_ecri(1) = 'ave(X)' 907 type_ecri(2) = 'ave(X)' 908 type_ecri(3) = 'ave(X)' 909 type_ecri(4) = 'inst(X)' 910 type_ecri(5) = 'ave(X)' 890 type_ecri(:) = type_ecri_files(:) 911 891 CALL histdef3d(iff,o_clwcon%flag,o_clwcon%name, "Convective Cloud Liquid water content", "kg/kg") 912 892 CALL histdef3d(iff,o_dtdyn%flag,o_dtdyn%name, "Dynamics dT", "K/s") … … 1021 1001 character(len=*) :: unitvar 1022 1002 1003 real zstophym 1004 1005 if (type_ecri(iff)=='inst(X)') then 1006 zstophym=zoutm(iff) 1007 else 1008 zstophym=zdtime 1009 endif 1010 1023 1011 ! Appel a la lecture des noms et niveau d'ecriture des variables dans output.def 1024 1012 call conf_physoutputs(nomvar,flag_var) … … 1027 1015 call histdef (nid_files(iff),nomvar,titrevar,unitvar, & 1028 1016 iim,jj_nb,nhorim(iff), 1,1,1, -99, 32, & 1029 type_ecri(iff), zstophym (iff),zoutm(iff))1017 type_ecri(iff), zstophym,zoutm(iff)) 1030 1018 endif 1031 1019 end subroutine histdef2d … … 1050 1038 character(len=*) :: unitvar 1051 1039 1040 real zstophym 1041 1052 1042 ! Appel a la lecture des noms et niveau d'ecriture des variables dans output.def 1053 1043 call conf_physoutputs(nomvar,flag_var) 1044 1045 if (type_ecri(iff)=='inst(X)') then 1046 zstophym=zoutm(iff) 1047 else 1048 zstophym=zdtime 1049 endif 1054 1050 1055 1051 if ( flag_var(iff)<=lev_files(iff) ) then … … 1057 1053 iim, jj_nb, nhorim(iff), klev, levmin(iff), & 1058 1054 levmax(iff)-levmin(iff)+1, nvertm(iff), 32, type_ecri(iff), & 1059 zstophym (iff), zoutm(iff))1055 zstophym, zoutm(iff)) 1060 1056 endif 1061 1057 end subroutine histdef3d -
LMDZ4/branches/LMDZ4-dev/libf/phylmd/physiq.F
r1168 r1176 1 ! 2 ! $Id$ 3 ! 1 4 c#define IO_DEBUG 2 5 … … 1420 1423 . lmt_pas 1421 1424 c 1422 cIM200505 ecrit_mth = NINT(86400./dtime *ecritphy) ! tous les ecritphy jours1423 c IF (ok_mensuel) THEN1424 c WRITE(lunout,*)'La frequence de sortie mensuelle est de ',1425 c . ecrit_mth1426 c ENDIF1427 c ecrit_day = NINT(86400./dtime *1.0) ! tous les jours1428 c IF (ok_journe) THEN1429 c WRITE(lunout,*)'La frequence de sortie journaliere est de ',1430 c . ecrit_day1431 c ENDIF1432 cIM 130904 BEG1433 cIM 080205 ecrit_hf = 86400./dtime *0.25 ! toutes les 6h1434 cIM 1703051435 c ecrit_hf = 86400./dtime/12. ! toutes les 2h1436 cIM 2303051437 cIM200505 ecrit_hf = 86400./dtime *0.25 ! toutes les 6h1438 c1439 cIM200505 ecrit_hf2mth = ecrit_day/ecrit_hf*301440 c1441 cIM200505 IF (ok_journe) THEN1442 cIM200505 WRITE(lunout,*)'La frequence de sortie hf est de ',1443 cIM200505 . ecrit_hf1444 cIM200505 ENDIF1445 cIM 130904 END1446 ccc ecrit_ins = NINT(86400./dtime *0.5) ! 2 fois par jour1447 ccc ecrit_ins = NINT(86400./dtime *0.25) ! 4 fois par jour1448 c ecrit_ins = NINT(86400./dtime/48.) ! a chaque pas de temps ==> PB. dans time_counter pour 1mois1449 c ecrit_ins = NINT(86400./dtime/12.) ! toutes les deux heures1450 cIM200505 ecrit_ins = NINT(86400./dtime/8.) ! toutes les trois heures1451 cIM200505 IF (ok_instan) THEN1452 cIM200505 WRITE(lunout,*)'La frequence de sortie instant. est de ',1453 cIM200505 . ecrit_ins1454 cIM200505 ENDIF1455 cIM200505 ecrit_reg = NINT(86400./dtime *0.25) ! 4 fois par jour1456 cIM200505 IF (ok_region) THEN1457 cIM200505 WRITE(lunout,*)'La frequence de sortie region est de ',1458 cIM200505 . ecrit_reg1459 cIM200505 ENDIF1460 cIM 030306 BEG1461 cIM ecrit_hf2mth = nombre de pas de temps de calcul de hf par mois apres lequel on ecrit1462 cIM : ne pas modifier ecrit_hf2mth1463 c1464 1425 cIM 250308bad guide ecrit_hf2mth = 30*1/ecrit_hf 1465 1426 ecrit_hf2mth = ecrit_mth/ecrit_hf 1466 c ecrit_ins en secondes, chaque pas de temps de la physique 1467 ecrit_ins = dtime 1468 cIM on passe les frequences de jours en secondes : ecrit_ins, ecrit_hf, ecrit_day, ecrit_mth, ecrit_tra, ecrit_reg 1427 1469 1428 ecrit_hf = ecrit_hf * un_jour 1470 1429 !IM … … 1474 1433 !IM 1475 1434 ecrit_mth = ecrit_mth * un_jour 1435 ecrit_ins = ecrit_ins * un_jour 1476 1436 ecrit_reg = ecrit_reg * un_jour 1477 1437 ecrit_tra = ecrit_tra * un_jour -
LMDZ4/branches/LMDZ4-dev/makegcm
r1167 r1176 1 1 #!/bin/csh 2 2 # 3 # $ Id$3 # $Header$ 4 4 # 5 5 #set verbose echo … … 24 24 set OPTIMI=' -ftrace ' 25 25 set OPT_LINUX='-O3' 26 set OPT_LINUX="-i4 -r8 -O3" 26 27 set io=ioipsl 27 28 28 29 set FC_LINUX=g95 29 if ( FC_LINUX == g95 ) then 30 set OPT_LINUX="-i4 -r8 -O3" 31 else 32 set OPT_LINUX="-O2 -Munroll -Mnoframe -Mautoinline -Mcache_align" 33 endif 34 30 #set FC_LINUX=pgf90 35 31 36 32 ######################################################################## … … 52 48 #setenv NCDFINC /distrib/local/netcdf/pgi_32bits/include 53 49 #setenv NCDFLIB /distrib/local/netcdf/pgi_32bits/lib/ 54 #setenv IOIPSLDIR /d 4/fairhead/Install_LMDZ4_FH/LMDZ4preV4/modipsl/lib/55 #setenv MODIPSLDIR /d 4/fairhead/Install_LMDZ4_FH/LMDZ4preV4/modipsl/lib/56 #setenv NCDFINC /d 4/fairhead/Install_LMDZ4_FH/LMDZ4preV4/netcdf-3.6.1/include57 #setenv NCDFLIB /d 4/fairhead/Install_LMDZ4_FH/LMDZ4preV4/netcdf-3.6.1/lib50 #setenv IOIPSLDIR /data/lfairlmd/Install/LMDZ20090409.trunk/modipsl/lib 51 #setenv MODIPSLDIR /data/lfairlmd/Install/LMDZ20090409.trunk/modipsl/lib 52 #setenv NCDFINC /data/lfairlmd/Install/LMDZ20090409.trunk/netcdf-3.6.1/include 53 #setenv NCDFLIB /data/lfairlmd/Install/LMDZ20090409.trunk/netcdf-3.6.1/lib 58 54 59 55 … … 259 255 else if $LINUX then 260 256 ################# 261 if ( $FC_LINUX == pgf90 || $FC_LINUX == g95 ) then 257 if ( $FC_LINUX == "pgf90" ) then 258 set optim="-fast " 259 set optim90=" -fast " 260 set optimtru90=" -fast -c -Mfree " 261 # set optim=" " 262 # set optim90=" " 263 # set optimtru90=" -c -Mfree " 264 else if ( $FC_LINUX == 'g95' ) then 262 265 set optim=" $OPT_LINUX " 263 266 set optim90=" $OPT_LINUX "
Note: See TracChangeset
for help on using the changeset viewer.