Changeset 940 for LMDZ4/trunk/libf/phylmd
- Timestamp:
- Apr 7, 2008, 4:33:30 PM (17 years ago)
- Location:
- LMDZ4/trunk/libf/phylmd
- Files:
-
- 1 deleted
- 15 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ4/trunk/libf/phylmd/aaam_bud.F
r879 r940 10 10 o aam, torsfc) 11 11 c 12 use dimphy 12 13 implicit none 13 14 c====================================================================== … … 88 89 89 90 #include "dimensions.h" 90 #include "dimphy.h"91 ccc#include "dimphy.h" 91 92 c 92 93 c ARGUMENTS -
LMDZ4/trunk/libf/phylmd/calltherm.F90
r938 r940 10 10 & zmax0,f0) 11 11 12 USE dimphy 12 13 implicit none 13 14 #include "dimensions.h" 14 #include "dimphy.h"15 !#include "dimphy.h" 15 16 #include "thermcell.h" 16 17 #include "iniprint.h" … … 40 41 !******************************************************** 41 42 ! declarations 42 real fmc_therm(klon,klev+1),zqasc(klon,klev) 43 ! real fmc_therm(klon,klev+1),zqasc(klon,klev) 44 real zqasc(klon,klev) 43 45 real zqla(klon,klev) 44 46 real wmax_sec(klon) 45 47 real zmax_sec(klon) 46 48 real f_sec(klon) 47 real detrc_therm(klon,klev) 48 save fmc_therm, detrc_therm 49 ! real detrc_therm(klon,klev) 50 ! save fmc_therm, detrc_therm 51 REAL, SAVE, ALLOCATABLE :: fmc_therm(:,:), detrc_therm(:,:) 52 !$OMP THREADPRIVATE(fmc_therm, detrc_therm) 49 53 real clwcon0(klon,klev) 50 54 real zqsat(klon,klev) … … 70 74 REAL d_u_the(klon,klev),d_v_the(klon,klev) 71 75 ! 72 real zfm_therm(klon,klev+1),zentr_therm(klon,klev),zdt 73 save zentr_therm,zfm_therm 74 76 ! real zfm_therm(klon,klev+1),zentr_therm(klon,klev),zdt 77 real zdt 78 ! save zentr_therm,zfm_therm 79 REAL, SAVE, ALLOCATABLE :: zfm_therm(:,:),zentr_therm(:,:) 80 !$OMP THREADPRIVATE(zfm_therm, zentr_therm) 75 81 integer i,k 82 LOGICAL, SAVE :: first=.true. 76 83 !******************************************************** 77 84 … … 80 87 ! print*,'thermiques: WARNING on passe t au lieu de t_seri' 81 88 89 if (first) then 90 ALLOCATE(fmc_therm(klon,klev+1)) 91 ALLOCATE(detrc_therm(klon,klev)) 92 ALLOCATE(zfm_therm(klon,klev+1)) 93 ALLOCATE(zentr_therm(klon,klev)) 94 first=.false. 95 endif 82 96 83 97 fm_therm(:,:)=0. -
LMDZ4/trunk/libf/phylmd/calwake.F
r923 r940 27 27 *************************************************************** 28 28 * 29 USE dimphy 29 30 IMPLICIT none 30 31 c====================================================================== 31 32 32 33 #include "dimensions.h" 33 #include "dimphy.h"34 cccc#include "dimphy.h" 34 35 #include "YOMCST.h" 35 36 -
LMDZ4/trunk/libf/phylmd/concvl.F
r938 r940 1 1 2 ! 2 3 ! $Header$ … … 23 24 * 24 25 c 25 cUSE dimphy26 USE dimphy 26 27 IMPLICIT none 27 28 c====================================================================== … … 66 67 c 67 68 #include "dimensions.h" 68 #include "dimphy.h"69 cccccc#include "dimphy.h" 69 70 c 70 71 integer NTRAC … … 122 123 INTEGER i,k,itra 123 124 REAL qs(klon,klev),qs_wake(klon,klev) 124 REAL cbmf(klon) 125 SAVE cbmf 126 ! REAL cbmflast(klon) 125 cLF REAL cbmf(klon) 126 cLF SAVE cbmf 127 REAL, SAVE, ALLOCATABLE :: cbmf(:) 128 c$OMP THREADPRIVATE(cbmf)! 129 REAL cbmflast(klon) 127 130 INTEGER ifrst 128 131 SAVE ifrst … … 133 136 C Variables supplementaires liees au bilan d'energie 134 137 c Real paire(klon) 135 Real ql(klon,klev)138 cLF Real ql(klon,klev) 136 139 c Save paire 137 Save ql138 Real t1(klon,klev),q1(klon,klev)139 Save t1,q1140 cLF Save ql 141 cLF Real t1(klon,klev),q1(klon,klev) 142 cLF Save t1,q1 140 143 c Data paire /1./ 144 REAL, SAVE, ALLOCATABLE :: ql(:,:), q1(:,:), t1(:,:) 145 c$OMP THREADPRIVATE(ql, q1, t1) 141 146 c 142 147 C Variables liees au bilan d'energie et d'enthalpi … … 162 167 REAL ZRCPD 163 168 c-jld ec_conser 169 cLF 170 INTEGER nloc 171 logical, save :: first=.true. 164 172 c 165 173 #include "YOMCST.h" … … 168 176 #include "FCTTRE.h" 169 177 c 178 if (first) then 179 c Allocate some variables LF 04/2008 180 c 181 allocate(cbmf(klon)) 182 allocate(ql(klon,klev)) 183 allocate(t1(klon,klev)) 184 allocate(q1(klon,klev)) 185 endif 170 186 171 187 c Copy T into Tconv … … 189 205 snow(:)=0 190 206 191 IF (ifrst .EQ. 0) THEN 192 ifrst = 1 207 c IF (ifrst .EQ. 0) THEN 208 c ifrst = 1 209 if (first) then 210 first=.false. 193 211 c 194 212 C=========================================================================== … … 313 331 else 314 332 315 CALL cva_driver(klon,klev,klev+1,ntra, 333 cLF necessary for gathered fields 334 nloc=klon 335 CALL cva_driver(klon,klev,klev+1,ntra,nloc, 316 336 $ iflag_con,iflag_mix,iflag_clos,dtime, 317 337 : t,q,qs,t_wake,q_wake,qs_wake,u,v,tra, -
LMDZ4/trunk/libf/phylmd/cva_driver.F
r938 r940 1 SUBROUTINE cva_driver(len,nd,ndp1,ntra,iflag_con,iflag_mix, 1 SUBROUTINE cva_driver(len,nd,ndp1,ntra,nloc, 2 & iflag_con,iflag_mix, 2 3 & iflag_clos,delt, 3 4 & t1,q1,qs1,t1_wake,q1_wake,qs1_wake, … … 26 27 *************************************************************** 27 28 C 29 USE dimphy 28 30 implicit none 29 31 C … … 102 104 c 103 105 #include "dimensions.h" 104 #include "dimphy.h"106 ccccc#include "dimphy.h" 105 107 c 106 108 c Input … … 344 346 c 345 347 integer nloc 346 parameter (nloc=klon) ! pour l'instant348 c parameter (nloc=klon) ! pour l'instant 347 349 348 350 integer idcum(nloc) … … 381 383 real supmax(nloc,klev) 382 384 real ale(nloc),alp(nloc),coef_clos(nloc) 383 real mp(nloc,klev), qp(nloc,klev), up(nloc,klev), vp(nloc,klev) 384 real wt(nloc,klev), water(nloc,klev), evap(nloc,klev) 385 real b(nloc,klev), sigd(nloc) 386 save mp,qp,up,vp,wt,water,evap,b 385 real sigd(nloc) 386 ! real mp(nloc,klev), qp(nloc,klev), up(nloc,klev), vp(nloc,klev) 387 ! real wt(nloc,klev), water(nloc,klev), evap(nloc,klev) 388 ! real b(nloc,klev), sigd(nloc) 389 ! save mp,qp,up,vp,wt,water,evap,b 390 real, save, allocatable :: mp(:,:),qp(:,:),up(:,:),vp(:,:) 391 real, save, allocatable :: wt(:,:),water(:,:),evap(:,:), b(:,:) 392 c$OMP THREADPRIVATE(mp,qp,up,vp,wt,water,evap,b) 387 393 real ft(nloc,klev), fq(nloc,klev) 388 394 real ftd(nloc,klev), fqd(nloc,klev) … … 405 411 real wghti(nloc,nd) 406 412 real hnk(nloc),unk(nloc),vnk(nloc) 413 logical, save :: first=.true. 407 414 408 415 c … … 414 421 !------------------------------------------------------------------- 415 422 423 if (first) then 424 allocate(mp(nloc,klev), qp(nloc,klev), up(nloc,klev)) 425 allocate(vp(nloc,klev), wt(nloc,klev), water(nloc,klev)) 426 allocate(evap(nloc,klev), b(nloc,klev)) 427 first=.false. 428 endif 416 429 c -- set simulation flags: 417 430 c (common cvflag) -
LMDZ4/trunk/libf/phylmd/diagphy.F
r879 r940 47 47 C====================================================================== 48 48 C 49 use dimphy 49 50 implicit none 50 51 51 52 #include "dimensions.h" 52 #include "dimphy.h"53 ccccc#include "dimphy.h" 53 54 #include "YOMCST.h" 54 55 #include "YOETHF.h" … … 209 210 c====================================================================== 210 211 212 USE dimphy 211 213 IMPLICIT NONE 212 214 C 213 215 #include "dimensions.h" 214 #include "dimphy.h"216 cccccc#include "dimphy.h" 215 217 #include "YOMCST.h" 216 218 #include "YOETHF.h" -
LMDZ4/trunk/libf/phylmd/ecribin.F
r524 r940 3 3 ! 4 4 SUBROUTINE ecribins(unit,pz) 5 USE dimphy 5 6 IMPLICIT none 6 7 c----------------------------------------------------------------------- 7 8 #include "dimensions.h" 8 #include "dimphy.h"9 cccc#include "dimphy.h" 9 10 #include "paramet.h" 10 11 #include "comgeom.h" … … 44 45 END 45 46 SUBROUTINE ecribina(unit,pz) 47 USE dimphy 46 48 IMPLICIT none 47 49 c----------------------------------------------------------------------- 48 50 #include "dimensions.h" 49 #include "dimphy.h"51 cccc#include "dimphy.h" 50 52 #include "paramet.h" 51 53 #include "comgeom.h" -
LMDZ4/trunk/libf/phylmd/ecrireg.F
r524 r940 3 3 ! 4 4 SUBROUTINE ecriregs(unit,pz) 5 use dimphy 5 6 IMPLICIT none 6 7 c----------------------------------------------------------------------- 7 8 #include "dimensions.h" 8 #include "dimphy.h"9 cccc#include "dimphy.h" 9 10 #include "paramet.h" 10 11 #include "comgeom.h" … … 59 60 END 60 61 SUBROUTINE ecrirega(unit,pz) 62 USE dimphy 61 63 IMPLICIT none 62 64 c----------------------------------------------------------------------- 63 65 #include "dimensions.h" 64 #include "dimphy.h"66 cccc#include "dimphy.h" 65 67 #include "paramet.h" 66 68 #include "comgeom.h" -
LMDZ4/trunk/libf/phylmd/read_pstoke.F
r541 r940 18 18 C****************************************************************************** 19 19 20 20 USE dimphy 21 21 IMPLICIT NONE 22 22 … … 33 33 #include "indicesol.h" 34 34 #include "control.h" 35 #include "dimphy.h"35 cccc#include "dimphy.h" 36 36 37 37 integer klono,klevo,imo,jmo -
LMDZ4/trunk/libf/phylmd/read_pstoke0.F
r541 r940 18 18 19 19 20 USE dimphy 20 21 IMPLICIT NONE 21 22 … … 32 33 #include "indicesol.h" 33 34 #include "control.h" 34 #include "dimphy.h"35 cccc#include "dimphy.h" 35 36 36 37 integer kon,kev,zkon,zkev -
LMDZ4/trunk/libf/phylmd/readsulfate.F
r804 r940 537 537 538 538 SUBROUTINE getso4fromfile (cyr, so4) 539 use dimphy 539 540 #include "netcdf.inc" 540 541 #include "dimensions.h" 541 #include "dimphy.h"542 cccc#include "dimphy.h" 542 543 CHARACTER*15 fname 543 544 CHARACTER*4 cyr -
LMDZ4/trunk/libf/phylmd/thermcell.F
r938 r940 6 6 s ,r_aspect,l_mix,w2di,tho) 7 7 8 USE dimphy 8 9 IMPLICIT NONE 9 10 … … 33 34 34 35 #include "dimensions.h" 35 #include "dimphy.h"36 cccc#include "dimphy.h" 36 37 #include "YOMCST.h" 37 38 … … 62 63 real zmix(klon), fracazmix(klon) 63 64 c RC 64 real zmax(klon),zw,z z,zw2(klon,klev+1),ztva(klon,klev),zzz65 real zmax(klon),zw,zw2(klon,klev+1),ztva(klon,klev) 65 66 66 67 real zlev(klon,klev+1),zlay(klon,klev) … … 73 74 real zwa(klon,klev+1) 74 75 real zld(klon,klev+1) 75 real zwd(klon,klev+1)76 ! real zwd(klon,klev+1) 76 77 real zsortie(klon,klev) 77 78 real zva(klon,klev) … … 85 86 real zf,zf2 86 87 real thetath2(klon,klev),wth2(klon,klev) 87 common/comtherm/thetath2,wth288 ! common/comtherm/thetath2,wth2 88 89 89 90 real count_time 91 ! integer isplit,nsplit 90 92 integer isplit,nsplit,ialt 91 93 parameter (nsplit=10) … … 128 130 character*10 str10 129 131 130 LOGICAL vtest(klon),down132 ! LOGICAL vtest(klon),down 131 133 132 134 EXTERNAL SCOPY 133 135 134 integer ncorrec ,ll136 integer ncorrec 135 137 save ncorrec 136 138 data ncorrec/0/ … … 1084 1086 s ,zmax,wmax) 1085 1087 1088 USE dimphy 1086 1089 IMPLICIT NONE 1087 1090 1088 1091 #include "dimensions.h" 1089 #include "dimphy.h"1092 cccc#include "dimphy.h" 1090 1093 #include "YOMCST.h" 1091 1094 … … 1123 1126 REAL ztva(klon,klev) 1124 1127 real nu(klon,klev) 1125 real zmax0_sec(klon) 1126 save zmax0_sec 1128 ! real zmax0_sec(klon) 1129 ! save zmax0_sec 1130 REAL, SAVE, ALLOCATABLE :: zmax0_sec(:) 1131 c$OMP THREADPRIVATE(zmax0_sec) 1132 logical, save :: first = .true. 1133 1134 if (first) then 1135 allocate(zmax0_sec(klon)) 1136 first=.false. 1137 endif 1127 1138 1128 1139 do l=1,nlay -
LMDZ4/trunk/libf/phylmd/thermcell_main.F90
r938 r940 12 12 & ,zmax0, f0) 13 13 14 use dimphy 14 15 IMPLICIT NONE 15 16 … … 40 41 41 42 #include "dimensions.h" 42 #include "dimphy.h"43 !#include "dimphy.h" 43 44 #include "YOMCST.h" 44 45 #include "YOETHF.h" … … 96 97 real thetath2(klon,klev),wth2(klon,klev),wth3(klon,klev) 97 98 real q2(klon,klev) 98 common/comtherm/thetath2,wth299 ! common/comtherm/thetath2,wth2 99 100 100 101 real ratqscth(klon,klev) -
LMDZ4/trunk/libf/phylmd/thermcell_old.F
r878 r940 7 7 s ,r_aspect,l_mix,w2di,tho) 8 8 9 USE dimphy 9 10 IMPLICIT NONE 10 11 … … 34 35 35 36 #include "dimensions.h" 36 #include "dimphy.h"37 cccc#include "dimphy.h" 37 38 #include "YOMCST.h" 38 39 … … 80 81 real zf,zf2 81 82 real thetath2(klon,klev),wth2(klon,klev) 82 common/comtherm/thetath2,wth283 ! common/comtherm/thetath2,wth2 83 84 84 85 real count_time … … 106 107 real fmc(klon,klev+1) 107 108 108 character *2str2109 character *10str10109 character (len=2) :: str2 110 character (len=10) :: str10 110 111 111 112 LOGICAL vtest(klon),down … … 803 804 s ,r_aspect,l_mix,w2di,tho) 804 805 806 USE dimphy 805 807 IMPLICIT NONE 806 808 … … 830 832 831 833 #include "dimensions.h" 832 #include "dimphy.h"834 cccc#include "dimphy.h" 833 835 #include "YOMCST.h" 834 836 #include "YOETHF.h" … … 871 873 real w_est(klon,klev+1) 872 874 con garde le zmax du pas de temps precedent 873 real zmax0(klon) 874 save zmax0 875 real zmix0(klon) 876 save zmix0 875 c real zmax0(klon) 876 c save zmax0 877 c real zmix0(klon) 878 c save zmix0 879 REAL, SAVE, ALLOCATABLE :: zmax0(:), zmix0(:) 880 c$OMP THREADPRIVATE(zmax0, zmix0) 877 881 878 882 real zlev(klon,klev+1),zlay(klon,klev) … … 903 907 real q2(klon,klev) 904 908 real dtheta(klon,klev) 905 common/comtherm/thetath2,wth2909 ! common/comtherm/thetath2,wth2 906 910 907 911 real ratqscth(klon,klev) … … 964 968 real nu_max 965 969 real nu_r 966 real f(klon), f0(klon) 967 save f0 970 real f(klon) 971 c real f(klon), f0(klon) 972 c save f0 973 REAL,SAVE, ALLOCATABLE :: f0(:) 974 c$OMP THREADPRIVATE(f0) 975 968 976 real f_old 969 977 real zlevinter(klon) 970 logical first978 logical, save :: first = .true. 971 979 c data first /.false./ 972 980 c save first … … 998 1006 c --------------- 999 1007 c 1008 if (first) then 1009 allocate(zmix0(klon)) 1010 allocate(zmax0(klon)) 1011 allocate(f0(klon)) 1012 first=.false. 1013 endif 1014 1000 1015 sorties=.false. 1001 1016 c print*,'NOUVEAU DETR PLUIE ' … … 2585 2600 s ,r_aspect,l_mix,w2di,tho) 2586 2601 2602 USE dimphy 2587 2603 IMPLICIT NONE 2588 2604 … … 2612 2628 2613 2629 #include "dimensions.h" 2614 #include "dimphy.h"2630 cccc#include "dimphy.h" 2615 2631 #include "YOMCST.h" 2616 2632 #include "YOETHF.h" … … 2669 2685 real zf,zf2 2670 2686 real thetath2(klon,klev),wth2(klon,klev) 2671 common/comtherm/thetath2,wth22687 ! common/comtherm/thetath2,wth2 2672 2688 2673 2689 real count_time … … 3693 3709 s ,r_aspect,l_mix,w2di,tho) 3694 3710 3711 USE dimphy 3695 3712 IMPLICIT NONE 3696 3713 … … 3720 3737 3721 3738 #include "dimensions.h" 3722 #include "dimphy.h"3739 cccc#include "dimphy.h" 3723 3740 #include "YOMCST.h" 3724 3741 … … 3772 3789 real zf,zf2 3773 3790 real thetath2(klon,klev),wth2(klon,klev) 3774 common/comtherm/thetath2,wth23791 ! common/comtherm/thetath2,wth2 3775 3792 3776 3793 real count_time … … 4665 4682 subroutine dqthermcell(ngrid,nlay,ptimestep,fm,entr, 4666 4683 . masse,q,dq,qa) 4684 USE dimphy 4667 4685 implicit none 4668 4686 … … 4676 4694 4677 4695 #include "dimensions.h" 4678 #include "dimphy.h"4696 cccc#include "dimphy.h" 4679 4697 4680 4698 integer ngrid,nlay … … 4764 4782 . ,fraca,larga 4765 4783 . ,u,v,du,dv,ua,va) 4784 USE dimphy 4766 4785 implicit none 4767 4786 … … 4775 4794 4776 4795 #include "dimensions.h" 4777 #include "dimphy.h"4796 cccc#include "dimphy.h" 4778 4797 4779 4798 integer ngrid,nlay … … 4877 4896 subroutine dqthermcell2(ngrid,nlay,ptimestep,fm,entr,masse,frac 4878 4897 . ,q,dq,qa) 4898 USE dimphy 4879 4899 implicit none 4880 4900 … … 4888 4908 4889 4909 #include "dimensions.h" 4890 #include "dimphy.h"4910 cccc#include "dimphy.h" 4891 4911 4892 4912 integer ngrid,nlay … … 4957 4977 . ,fraca,larga 4958 4978 . ,u,v,du,dv,ua,va) 4979 use dimphy 4959 4980 implicit none 4960 4981 … … 4968 4989 4969 4990 #include "dimensions.h" 4970 #include "dimphy.h"4991 cccc#include "dimphy.h" 4971 4992 4972 4993 integer ngrid,nlay … … 5093 5114 s ,r_aspect,l_mix,w2di,tho) 5094 5115 5116 use dimphy 5095 5117 IMPLICIT NONE 5096 5118 … … 5120 5142 5121 5143 #include "dimensions.h" 5122 #include "dimphy.h"5144 cccc#include "dimphy.h" 5123 5145 #include "YOMCST.h" 5124 5146 … … 5172 5194 real zf,zf2 5173 5195 real thetath2(klon,klev),wth2(klon,klev) 5174 common/comtherm/thetath2,wth25196 ! common/comtherm/thetath2,wth2 5175 5197 5176 5198 real count_time -
LMDZ4/trunk/libf/phylmd/wake.F
r879 r940 22 22 *************************************************************** 23 23 c 24 USE dimphy 24 25 IMPLICIT none 25 26 c============================================================================ … … 112 113 113 114 #include "dimensions.h" 114 #include "dimphy.h"115 cccc#include "dimphy.h" 115 116 #include "YOMCST.h" 116 117 #include "cvthermo.h"
Note: See TracChangeset
for help on using the changeset viewer.