Changeset 2281
- Timestamp:
- May 18, 2015, 11:09:37 AM (10 years ago)
- Location:
- LMDZ5/trunk/libf
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/libf/dyn3d/advtrac.F90
r2270 r2281 225 225 226 226 if (ok_iso_verif) then 227 call check_isotopes_seq(q,1,ip1jmp1,'advtrac 162') 227 write(*,*) 'advtrac 227' 228 call check_isotopes_seq(q,ip1jmp1,'advtrac 162') 228 229 endif !if (ok_iso_verif) then 229 230 … … 399 400 400 401 if (ok_iso_verif) then 402 write(*,*) 'advtrac 402' 401 403 call check_isotopes_seq(q,ip1jmp1,'advtrac 397') 402 404 endif !if (ok_iso_verif) then -
LMDZ5/trunk/libf/dyn3d/caladvtrac.F
r2270 r2281 85 85 ENDDO 86 86 87 write(*,*) 'caladvtrac 87' 87 88 CALL qminimum( q, nqtot, finmasse ) 89 write(*,*) 'caladvtrac 89' 88 90 89 91 CALL SCOPY ( ip1jmp1*llm, masse, 1, finmasse, 1 ) -
LMDZ5/trunk/libf/dyn3d/check_isotopes.F
r2270 r2281 29 29 if (ok_isotopes) then 30 30 31 write(*,*) 'check_isotopes 31: err_msg=',err_msg 31 32 ! verifier que rien n'est NaN 32 33 do ixt=1,ntraciso … … 49 50 enddo !do ixt=1,ntraciso 50 51 52 !write(*,*) 'check_isotopes 52' 51 53 ! verifier que l'eau normale est OK 52 54 if (use_iso(1)) then … … 74 76 endif !if (use_iso(1)) then 75 77 78 !write(*,*) 'check_isotopes 78' 76 79 ! verifier que HDO est raisonable 77 80 if (use_iso(2)) then … … 98 101 endif !if (use_iso(2)) then 99 102 103 !write(*,*) 'check_isotopes 103' 100 104 ! verifier que O18 est raisonable 101 105 if (use_iso(3)) then … … 123 127 124 128 129 !write(*,*) 'check_isotopes 129' 125 130 if (ok_isotrac) then 126 131 … … 191 196 192 197 endif ! if (ok_isotopes) 198 !write(*,*) 'check_isotopes 198' 193 199 194 200 end -
LMDZ5/trunk/libf/dyn3d/leapfrog.F
r2270 r2281 344 344 * p, masse, dq, teta, 345 345 . flxw, pk) 346 write(*,*) 'caladvtrac 346' 346 347 347 348 -
LMDZ5/trunk/libf/dyn3d/qminimum.F
r2270 r2281 152 152 enddo !do k=2,llm 153 153 154 if (ok_iso_verif) then 154 if (ok_iso_verif) then 155 155 call check_isotopes_seq(q,ip1jmp1,'qminimum 168') 156 156 endif !if (ok_iso_verif) then … … 158 158 159 159 ! 3) transfert d'eau de la vapeur au liquide 160 !write(*,*) 'qminimum 164'160 write(*,*) 'qminimum 164' 161 161 do k=1,llm 162 162 DO i = 1,ip1jmp1 … … 186 186 187 187 endif !if (ok_isotopes) then 188 !write(*,*) 'qminimum 188'188 write(*,*) 'qminimum 188' 189 189 190 190 c -
LMDZ5/trunk/libf/dyn3dmem/check_isotopes_loc.F
r2270 r2281 30 30 if (ok_isotopes) then 31 31 32 !write(*,*) 'check_isotopes 31: err_msg=',err_msg 32 33 ! verifier que rien n'est NaN 33 34 do ixt=1,ntraciso 34 35 do phase=1,nqo 35 36 iq=iqiso(ixt,phase) 37 c$OMP DO SCHEDULE(STATIC,OMP_CHUNK) 36 38 do k=1,llm 37 39 DO i = ijb,ije … … 47 49 enddo !DO i = ijb,ije 48 50 enddo !do k=1,llm 51 c$OMP END DO NOWAIT 49 52 enddo !do phase=1,nqo 50 53 enddo !do ixt=1,ntraciso 51 54 55 !write(*,*) 'check_isotopes 52' 52 56 ! verifier que l'eau normale est OK 53 57 if (use_iso(1)) then … … 55 59 do phase=1,nqo 56 60 iq=iqiso(ixt,phase) 61 c$OMP DO SCHEDULE(STATIC,OMP_CHUNK) 57 62 do k=1,llm 58 63 DO i = ijb,ije … … 63 68 write(*,*) 'erreur detectee par iso_verif_egalite:' 64 69 write(*,*) err_msg 65 write(*,*) 'ixt,phase =',ixt,phase70 write(*,*) 'ixt,phase,ijb=',ixt,phase,ijb 66 71 write(*,*) 'q,iq,i,k=',q(i,k,iq),iq,i,k 67 72 write(*,*) 'q(i,k,phase)=',q(i,k,phase) … … 72 77 enddo ! DO i = ijb,ije 73 78 enddo !do k=1,llm 79 c$OMP END DO NOWAIT 74 80 enddo ! do phase=1,nqo 75 81 endif !if (use_iso(1)) then 76 82 83 !write(*,*) 'check_isotopes 78' 77 84 ! verifier que HDO est raisonable 78 85 if (use_iso(2)) then … … 80 87 do phase=1,nqo 81 88 iq=iqiso(ixt,phase) 89 c$OMP DO SCHEDULE(STATIC,OMP_CHUNK) 82 90 do k=1,llm 83 91 DO i = ijb,ije … … 96 104 enddo !DO i = ijb,ije 97 105 enddo !do k=1,llm 106 c$OMP END DO NOWAIT 98 107 enddo ! do phase=1,nqo 99 108 endif !if (use_iso(2)) then 100 109 110 !write(*,*) 'check_isotopes 103' 101 111 ! verifier que O18 est raisonable 102 112 if (use_iso(3)) then … … 104 114 do phase=1,nqo 105 115 iq=iqiso(ixt,phase) 116 c$OMP DO SCHEDULE(STATIC,OMP_CHUNK) 106 117 do k=1,llm 107 118 DO i = ijb,ije … … 120 131 enddo !DO i = ijb,ije 121 132 enddo !do k=1,llm 133 c$OMP END DO NOWAIT 122 134 enddo ! do phase=1,nqo 123 135 endif !if (use_iso(2)) then 124 136 125 137 138 !write(*,*) 'check_isotopes 129' 126 139 if (ok_isotrac) then 127 140 … … 133 146 iq=iqiso(ixt,phase) 134 147 iqeau=iqiso(ieau,phase) 148 c$OMP DO SCHEDULE(STATIC,OMP_CHUNK) 135 149 do k=1,llm 136 150 DO i = ijb,ije … … 150 164 enddo !DO i = ijb,ije 151 165 enddo ! do k=1,llm 166 c$OMP END DO NOWAIT 152 167 enddo ! do phase=1,nqo 153 168 enddo !do izone=1,ntraceurs_zone … … 157 172 do phase=1,nqo 158 173 iq=iqiso(iiso,phase) 174 c$OMP DO SCHEDULE(STATIC,OMP_CHUNK) 159 175 do k=1,llm 160 176 DO i = ijb,ije … … 186 202 enddo !DO i = ijb,ije 187 203 enddo !do k=1,llm 204 c$OMP END DO NOWAIT 188 205 enddo !do phase=1,nqo 189 206 enddo !do iiso=1,niso … … 192 209 193 210 endif ! if (ok_isotopes) 211 !write(*,*) 'check_isotopes 198' 194 212 195 213 end -
LMDZ5/trunk/libf/dyn3dmem/integrd_loc.F
r2270 r2281 89 89 !write(*,*) 'integrd 88: entree, nq=',nq 90 90 c----------------------------------------------------------------------- 91 92 if (ok_iso_verif) then93 call check_isotopes(q,ijb,ije,'integrd 92')94 endif !if (ok_iso_verif) then95 91 96 92 c$OMP BARRIER … … 168 164 c$OMP END MASTER 169 165 c$OMP BARRIER 166 write(*,*) 'integrd 170' 170 167 IF (.NOT. Checksum_all) THEN 171 168 call WriteField_v('int_vcov',vcov) … … 197 194 198 195 c 196 write(*,*) 'integrd 200' 199 197 C$OMP MASTER 200 198 if (pole_nord) THEN … … 287 285 c 288 286 c 287 write(*,*) 'integrd 291' 289 288 IF (pole_nord) THEN 290 289 … … 353 352 endif !if (ok_iso_verif) then 354 353 355 !write(*,*) 'integrd 341'356 357 !write(*,*) 'integrd 343'354 write(*,*) 'integrd 341' 355 CALL qminimum_loc( q, nq, deltap ) 356 write(*,*) 'integrd 343' 358 357 359 358 if (ok_iso_verif) then -
LMDZ5/trunk/libf/dyn3dmem/vlsplt_loc.F
r2277 r2281 44 44 REAL u_mq(ijb_u:ije_u,llm) 45 45 46 REAL masseq(ijb_u:ije_u,llm,nqtot),Ratio(ijb_u:ije_u,llm,nqtot) ! CRisi46 REAL Ratio(ijb_u:ije_u,llm,nqtot) ! CRisi 47 47 INTEGER ifils,iq2 ! CRisi 48 48 … … 341 341 ! On a besoin de q et masse seulement entre ijb et ije. On ne 342 342 ! les calcule donc que de ijb à ije 343 masse q(ij,l,iq2)=masse(ij,l,iq)*q(ij,l,iq)343 masse(ij,l,iq2)=masse(ij,l,iq)*q(ij,l,iq) 344 344 Ratio(ij,l,iq2)=q(ij,l,iq2)/q(ij,l,iq) 345 345 enddo … … 349 349 do ifils=1,nqfils(iq) 350 350 iq2=iqfils(ifils,iq) 351 call vlx_loc(Ratio,pente_max,masse q,u_mq,ijb_x,ije_x,iq2)351 call vlx_loc(Ratio,pente_max,masse,u_mq,ijb_x,ije_x,iq2) 352 352 enddo !do ifils=1,nqfils(iq) 353 353 endif !if (nqfils(iq).gt.0) then … … 462 462 c$OMP THREADPRIVATE(airej2,airejjm) 463 463 464 REAL masseq(ijb_u:ije_u,llm,nqtot),Ratio(ijb_u:ije_u,llm,nqtot) ! CRisi464 REAL Ratio(ijb_u:ije_u,llm,nqtot) ! CRisi 465 465 INTEGER ifils,iq2 ! CRisi 466 466 c … … 739 739 DO l=1,llm 740 740 DO ij=ijb,ije 741 masse q(ij,l,iq2)=masse(ij,l,iq)*q(ij,l,iq)741 masse(ij,l,iq2)=masse(ij,l,iq)*q(ij,l,iq) 742 742 Ratio(ij,l,iq2)=q(ij,l,iq2)/q(ij,l,iq) 743 743 enddo … … 748 748 do ifils=1,nqfils(iq) 749 749 iq2=iqfils(ifils,iq) 750 call vly_loc(Ratio,pente_max,masse q,qbyv,iq2)750 call vly_loc(Ratio,pente_max,masse,qbyv,iq2) 751 751 enddo !do ifils=1,nqfils(iq) 752 752 endif !if (nqfils(iq).gt.0) then … … 1017 1017 DO l=1,llm 1018 1018 DO ij=ijb,ije 1019 masse q(ij,l,iq2)=masse(ij,l,iq)*q(ij,l,iq)1019 masse(ij,l,iq2)=masse(ij,l,iq)*q(ij,l,iq) 1020 1020 Ratio(ij,l,iq2)=q(ij,l,iq2)/q(ij,l,iq) 1021 wq(ij,l,iq2)=wq(ij,l,iq) 1021 !wq(ij,l,iq2)=wq(ij,l,iq) ! correction bug le 15mai2015 1022 w(ij,l,iq2)=wq(ij,l,iq) 1022 1023 enddo 1023 1024 enddo … … 1025 1026 enddo !do ifils=1,nqdesc(iq) 1026 1027 c$OMP BARRIER 1027 1028 1028 1029 do ifils=1,nqfils(iq) 1029 1030 iq2=iqfils(ifils,iq) 1030 call vlz_loc(Ratio,pente_max,masse q,wq,ijb_x,ije_x,iq2)1031 call vlz_loc(Ratio,pente_max,masse,w,ijb_x,ije_x,iq2) 1031 1032 enddo !do ifils=1,nqfils(iq) 1032 1033 endif !if (nqfils(iq).gt.0) then … … 1035 1036 ! CRisi: On rajoute ici une barrière car on veut être sur que tous les 1036 1037 ! wq soient synchronisés 1037 write(*,*) 'vlz 1032' 1038 1038 1039 c$OMP BARRIER 1039 1040 c$OMP DO SCHEDULE(STATIC,OMP_CHUNK) … … 1049 1050 c$OMP END DO NOWAIT 1050 1051 1052 1051 1053 ! retablir les fils en rapport de melange par rapport a l'air: 1052 1054 if (nqfils(iq).gt.0) then … … 1062 1064 enddo !do ifils=1,nqdesc(iq) 1063 1065 endif !if (nqfils(iq).gt.0) then 1064 1065 1066 1066 1067 RETURN -
LMDZ5/trunk/libf/dyn3dmem/vlspltgen_loc.F
r2270 r2281 193 193 194 194 ! verif temporaire 195 ijb=ij_begin-2*iip1 196 ije=ij_end+2*iip1 197 if (pole_nord) ijb=ij_begin 198 if (pole_sud) ije=ij_end 199 if (ok_iso_verif) then 200 call check_isotopes(zq,ijb,ije,'vlspltgen_loc 191') 195 ijb=ij_begin 196 ije=ij_end 197 if (ok_iso_verif) then 198 call check_isotopes(zq,ijb,ije,'vlspltgen_loc 191') 201 199 endif !if (ok_iso_verif) then 202 200 … … 459 457 c$OMP BARRIER 460 458 461 write(*,*) 'vlspltgen_loc 461'462 459 #ifdef _ADV_HALLO 463 write(*,*) 'vlspltgen_loc 462'464 460 call vlz_loc(zq,pente_max,zm,mw, 465 461 & ij_begin+2*iip1,ij_end-2*iip1,iq) … … 477 473 478 474 c$OMP BARRIER 475 write(*,*) 'vlspltgen_loc 477' 479 476 c$OMP MASTER 480 477 call VTb(VTHallo) -
LMDZ5/trunk/libf/dyn3dmem/vlspltqs_loc.F
r2270 r2281 38 38 REAL adxqu(ijb_u:ije_u),dxqmax(ijb_u:ije_u,llm) 39 39 REAL u_mq(ijb_u:ije_u,llm) 40 REAL masseq(ijb_u:ije_u,llm,nqtot),Ratio(ijb_u:ije_u,llm,nqtot) ! CRisi40 REAL Ratio(ijb_u:ije_u,llm,nqtot) ! CRisi 41 41 INTEGER ifils,iq2 ! CRisi 42 42 … … 345 345 DO l=1,llm 346 346 DO ij=ijb,ije 347 masse q(ij,l,iq2)=masse(ij,l,iq)*q(ij,l,iq)347 masse(ij,l,iq2)=masse(ij,l,iq)*q(ij,l,iq) 348 348 Ratio(ij,l,iq2)=q(ij,l,iq2)/q(ij,l,iq) 349 349 enddo … … 354 354 iq2=iqfils(ifils,iq) 355 355 write(*,*) 'vlxqs 349: on appelle vlx pour iq2=',iq2 356 call vlx_loc(Ratio,pente_max,masse q,u_mq,ijb_x,ije_x,iq2)356 call vlx_loc(Ratio,pente_max,masse,u_mq,ijb_x,ije_x,iq2) 357 357 enddo !do ifils=1,nqfils(iq) 358 358 endif !if (nqfils(iq).gt.0) then … … 462 462 c 463 463 c 464 REAL masseq(ijb_u:ije_u,llm,nqtot),Ratio(ijb_u:ije_u,llm,nqtot) ! CRisi464 REAL Ratio(ijb_u:ije_u,llm,nqtot) ! CRisi 465 465 INTEGER ifils,iq2 ! CRisi 466 466 … … 738 738 DO l=1,llm 739 739 DO ij=ijb,ije 740 masse q(ij,l,iq2)=masse(ij,l,iq)*q(ij,l,iq)740 masse(ij,l,iq2)=masse(ij,l,iq)*q(ij,l,iq) 741 741 Ratio(ij,l,iq2)=q(ij,l,iq2)/q(ij,l,iq) 742 742 enddo … … 746 746 do ifils=1,nqfils(iq) 747 747 iq2=iqfils(ifils,iq) 748 call vly_loc(Ratio,pente_max,masse q,qbyv,iq2)748 call vly_loc(Ratio,pente_max,masse,qbyv,iq2) 749 749 enddo !do ifils=1,nqfils(iq) 750 750 endif !if (nqfils(iq).gt.0) then -
LMDZ5/trunk/libf/dyn3dmem/vlz_mod.F90
r2270 r2281 6 6 REAL,POINTER,SAVE :: adzqw(:,:) 7 7 ! CRisi: pour les traceurs: 8 REAL,POINTER,SAVE :: masseq(:,:,:)8 !REAL,POINTER,SAVE :: masseq(:,:,:) 9 9 REAL,POINTER,SAVE :: Ratio(:,:,:) 10 10 … … 26 26 CALL allocate_u(adzqw,llm,d) 27 27 if (nqdesc_tot.gt.0) then 28 CALL allocate_u(masseq,llm,nqtot,d)28 !CALL allocate_u(masseq,llm,nqtot,d) 29 29 CALL allocate_u(Ratio,llm,nqtot,d) 30 30 endif !if (nqdesc_tot.gt.0) then … … 46 46 ! CRisi: 47 47 if (nqdesc_tot.gt.0) then 48 CALL switch_u(masseq,distrib_vanleer,dist)48 !CALL switch_u(masseq,distrib_vanleer,dist) 49 49 CALL switch_u(Ratio,distrib_vanleer,dist) 50 50 endif !if (nqdesc_tot.gt.0) then
Note: See TracChangeset
for help on using the changeset viewer.