Changeset 1454 for LMDZ5/trunk/libf/dyn3dpar/leapfrog_p.F
- Timestamp:
- Nov 18, 2010, 1:01:24 PM (14 years ago)
- Location:
- LMDZ5/trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk
- Property svn:mergeinfo changed
/LMDZ5/branches/LMDZ5V1.0-dev (added) merged: 1436-1438,1441-1449,1452-1453
- Property svn:mergeinfo changed
-
LMDZ5/trunk/libf/dyn3dpar/leapfrog_p.F
r1403 r1454 234 234 235 235 c$OMP MASTER 236 dq =0.236 dq(:,:,:)=0. 237 237 CALL pression ( ip1jmp1, ap, bp, ps, p ) 238 238 CALL exner_hyb( ip1jmp1, ps, p,alpha,beta, pks, pk, pkf ) … … 596 596 . flxw,pk, iapptrac) 597 597 598 IF (offline) THEN 599 Cmaf stokage du flux de masse pour traceurs OFF-LINE 600 601 #ifdef CPP_IOIPSL 602 CALL fluxstokenc_p(pbaru,pbarv,masse,teta,phi,phis, 603 . dtvr, itau) 604 #endif 605 606 607 ENDIF ! of IF (offline) 608 c 598 C Stokage du flux de masse pour traceurs OFF-LINE 599 IF (offline .AND. .NOT. adjust) THEN 600 CALL fluxstokenc_p(pbaru,pbarv,masse,teta,phi,phis, 601 . dtvr, itau) 602 ENDIF 603 609 604 ENDIF ! of IF( forward. OR . leapf ) 610 605 cc$OMP END PARALLEL … … 968 963 969 964 IF(iflag_phys.EQ.2) THEN ! "Newtonian" case 970 c Calcul academique de la physique = Rappel Newtonien + fritcion 971 c -------------------------------------------------------------- 972 cym teta(:,:)=teta(:,:) 973 cym s -iphysiq*dtvr*(teta(:,:)-tetarappel(:,:))/taurappel 965 ! Academic case : Simple friction and Newtonan relaxation 966 ! ------------------------------------------------------- 974 967 ijb=ij_begin 975 968 ije=ij_end 976 969 !$OMP DO SCHEDULE(STATIC,OMP_CHUNK) 977 970 do l=1,llm 978 teta(ijb:ije,l)=teta(ijb:ije,l) 979 & -iphysiq*dtvr*(teta(ijb:ije,l)-tetarappel(ijb:ije,l))/taurappel 980 enddo 971 teta(ijb:ije,l)=teta(ijb:ije,l)-dtvr* 972 & (teta(ijb:ije,l)-tetarappel(ijb:ije,l))* 973 & (knewt_g+knewt_t(l)*clat4(ijb:ije)) 974 enddo ! of do l=1,llm 981 975 !$OMP END DO 982 976 … … 987 981 call WaitRequest(Request_Physic) 988 982 c$OMP BARRIER 989 !$OMP MASTER 990 call friction_p(ucov,vcov,iphysiq*dtvr) 991 !$OMP END MASTER 983 call friction_p(ucov,vcov,dtvr) 992 984 !$OMP BARRIER 985 986 ! Sponge layer (if any) 987 IF (ok_strato) THEN 988 ! set dufi,dvfi,... to zero 989 ijb=ij_begin 990 ije=ij_end 991 !$OMP DO SCHEDULE(STATIC,OMP_CHUNK) 992 do l=1,llm 993 dufi(ijb:ije,l)=0 994 dtetafi(ijb:ije,l)=0 995 dqfi(ijb:ije,l,1:nqtot)=0 996 enddo 997 !$OMP END DO 998 !$OMP SINGLE 999 dpfi(ijb:ije)=0 1000 !$OMP END SINGLE 1001 ijb=ij_begin 1002 ije=ij_end 1003 if (pole_sud) ije=ije-iip1 1004 !$OMP DO SCHEDULE(STATIC,OMP_CHUNK) 1005 do l=1,llm 1006 dvfi(ijb:ije,l)=0 1007 enddo 1008 !$OMP END DO 1009 1010 CALL top_bound_p(vcov,ucov,teta,masse,dufi,dvfi,dtetafi) 1011 CALL addfi_p( dtvr, leapf, forward , 1012 $ ucov, vcov, teta , q ,ps , 1013 $ dufi, dvfi, dtetafi , dqfi ,dpfi ) 1014 !$OMP BARRIER 1015 ENDIF ! of IF (ok_strato) 993 1016 ENDIF ! of IF(iflag_phys.EQ.2) 994 1017 … … 1465 1488 c$OMP MASTER 1466 1489 1467 if (planet_type.eq."earth") then1490 ! if (planet_type.eq."earth") then 1468 1491 ! Write an Earth-format restart file 1469 1492 CALL dynredem1_p("restart.nc",0.0, 1470 1493 & vcov,ucov,teta,q,masse,ps) 1471 endif ! of if (planet_type.eq."earth")1494 ! endif ! of if (planet_type.eq."earth") 1472 1495 1473 1496 ! CLOSE(99) … … 1658 1681 1659 1682 IF(itau.EQ.itaufin) THEN 1660 if (planet_type.eq."earth") then1683 ! if (planet_type.eq."earth") then 1661 1684 c$OMP MASTER 1662 1685 CALL dynredem1_p("restart.nc",0.0, 1663 1686 . vcov,ucov,teta,q,masse,ps) 1664 1687 c$OMP END MASTER 1665 endif ! of if (planet_type.eq."earth")1688 ! endif ! of if (planet_type.eq."earth") 1666 1689 ENDIF ! of IF(itau.EQ.itaufin) 1667 1690
Note: See TracChangeset
for help on using the changeset viewer.