Changeset 5159 for LMDZ6/branches/Amaury_dev/libf/dyn3dmem/vlsplt_loc.f90
- Timestamp:
- Aug 2, 2024, 9:58:25 PM (3 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/Amaury_dev/libf/dyn3dmem/vlsplt_loc.f90
r5158 r5159 4 4 5 5 ! Auteurs: P.Le Van, F.Hourdin, F.Forget 6 ! 6 7 7 ! ******************************************************************** 8 8 ! Shema d'advection " pseudo amont " . 9 9 ! ******************************************************************** 10 10 ! nq,iq,q,pbaru,pbarv,w sont des arguments d'entree pour le s-pg .... 11 ! 12 ! 11 12 13 13 ! -------------------------------------------------------------------- 14 14 USE parallel_lmdz … … 16 16 min_qParent, min_qMass, min_ratio ! MVals et CRisi 17 17 USE lmdz_iniprint, ONLY: lunout, prt_level 18 USE lmdz_dimensions, ONLY: iim, jjm, llm, ndm 19 USE lmdz_paramet 18 20 IMPLICIT NONE 19 21 ! 20 INCLUDE "dimensions.h" 21 INCLUDE "paramet.h" 22 ! 23 ! 22 23 24 25 24 26 ! Arguments: 25 27 ! ---------- … … 29 31 REAL :: w(ijb_u:ije_u, llm) 30 32 INTEGER :: iq ! CRisi 31 ! 33 32 34 ! Local 33 35 ! --------- 34 ! 36 35 37 INTEGER :: ij, l, j, i, iju, ijq, indu(ijnb_u), niju 36 38 INTEGER :: n0, iadvplus(ijb_u:ije_u, llm), nl(llm) 37 ! 39 38 40 REAL :: new_m, zu_m, zdum(ijb_u:ije_u, llm) 39 41 REAL :: sigu(ijb_u:ije_u), dxq(ijb_u:ije_u, llm), dxqu(ijb_u:ije_u) … … 367 369 368 370 SUBROUTINE vly_loc(q, pente_max, masse, masse_adv_v, iq) 369 ! 371 370 372 ! Auteurs: P.Le Van, F.Hourdin, F.Forget 371 ! 373 372 374 ! ******************************************************************** 373 375 ! Shema d'advection " pseudo amont " . … … 375 377 ! q,masse_adv_v,w sont des arguments d'entree pour le s-pg .... 376 378 ! dq sont des arguments de sortie pour le s-pg .... 377 ! 378 ! 379 380 379 381 ! -------------------------------------------------------------------- 380 382 USE parallel_lmdz … … 385 387 USE lmdz_comgeom 386 388 389 USE lmdz_dimensions, ONLY: iim, jjm, llm, ndm 390 USE lmdz_paramet 387 391 IMPLICIT NONE 388 392 ! 389 INCLUDE "dimensions.h" 390 INCLUDE "paramet.h" 391 ! 392 ! 393 394 395 396 393 397 ! Arguments: 394 398 ! ---------- … … 397 401 REAL :: q(ijb_u:ije_u, llm, nqtot), dq(ijb_u:ije_u, llm) 398 402 INTEGER :: iq ! CRisi 399 ! 403 400 404 ! Local 401 405 ! --------- 402 ! 406 403 407 INTEGER :: i, ij, l 404 ! 408 405 409 REAL :: airej2, airejjm, airescb(iim), airesch(iim) 406 410 REAL :: dyq(ijb_u:ije_u, llm), dyqv(ijb_v:ije_v), zdvm(ijb_u:ije_u, llm) … … 456 460 ENDIF 457 461 458 ! 462 459 463 ! PRINT*,'CALCUL EN LATITUDE' 460 464 461 465 !$OMP DO SCHEDULE(STATIC,OMP_CHUNK) 462 466 DO l = 1, llm 463 ! 467 464 468 ! -------------------------------- 465 469 ! CALCUL EN LATITUDE … … 596 600 ! appn=min(pente_max/appn,1.) 597 601 ! apps=min(pente_max/apps,1.) 598 ! 599 ! 602 603 600 604 ! cas ou on a un extremum au pole 601 ! 605 602 606 ! IF(dyqv(ismin(iim,dyqv,1))*dyqv(ismax(iim,dyqv,1)).le.0.) 603 607 ! & appn=0. … … 605 609 ! & dyqv(ismin(iim,dyqv(ip1jm-iip1+1),1)+ip1jm-iip1+1).le.0.) 606 610 ! & apps=0. 607 ! 611 608 612 ! limitation des pentes aux poles 609 613 ! DO ij=1,iip1 … … 611 615 ! dyq(ip1jm+ij)=apps*dyq(ip1jm+ij) 612 616 ! ENDDO 613 ! 617 614 618 ! test 615 619 ! DO ij=1,iip1 … … 620 624 ! dyq(ij)=dyq(ij)*cos(rlatu((ij-1)/iip1+1)) 621 625 ! ENDDO 622 ! 626 623 627 ! changement 10 07 96 624 628 ! IF(dyqv(ismin(iim,dyqv,1))*dyqv(ismax(iim,dyqv,1)).le.0.) … … 632 636 ! ENDDO 633 637 ! ENDIF 634 ! 638 635 639 ! IF(dyqv(ismax(iim,dyqv(ip1jm-iip1+1),1)+ip1jm-iip1+1)* 636 640 ! & dyqv(ismin(iim,dyqv(ip1jm-iip1+1),1)+ip1jm-iip1+1).le.0.) … … 797 801 798 802 SUBROUTINE vlz_loc(q, pente_max, masse, w, ijb_x, ije_x, iq) 799 ! 803 800 804 ! Auteurs: P.Le Van, F.Hourdin, F.Forget 801 ! 805 802 806 ! ******************************************************************** 803 807 ! Shema d'advection " pseudo amont " . … … 805 809 ! q,pbaru,pbarv,w sont des arguments d'entree pour le s-pg .... 806 810 ! dq sont des arguments de sortie pour le s-pg .... 807 ! 808 ! 811 812 809 813 ! -------------------------------------------------------------------- 810 814 USE parallel_lmdz … … 815 819 816 820 821 USE lmdz_dimensions, ONLY: iim, jjm, llm, ndm 822 USE lmdz_paramet 817 823 IMPLICIT NONE 818 824 ! 819 INCLUDE "dimensions.h" 820 INCLUDE "paramet.h" 821 ! 822 ! 825 826 827 828 823 829 ! Arguments: 824 830 ! ---------- … … 827 833 REAL :: w(ijb_u:ije_u, llm + 1, nqtot) 828 834 INTEGER :: iq 829 ! 835 830 836 ! Local 831 837 ! --------- 832 ! 838 833 839 INTEGER :: i, ij, l, j, ii 834 840 … … 837 843 INTEGER, SAVE :: countcfl 838 844 !$OMP THREADPRIVATE(countcfl) 839 ! 845 840 846 REAL :: newmasse 841 847
Note: See TracChangeset
for help on using the changeset viewer.