Changeset 5159 for LMDZ6/branches/Amaury_dev/libf/dyn3d/vlsplt.F90
- Timestamp:
- Aug 2, 2024, 9:58:25 PM (7 weeks ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/Amaury_dev/libf/dyn3d/vlsplt.F90
r5158 r5159 1 ! 1 2 2 ! $Id$ 3 3 ! … … 6 6 USE infotrac, ONLY: nqtot, tracers 7 7 USE lmdz_ssum_scopy, ONLY: scopy 8 ! 8 9 9 ! Auteurs: P.Le Van, F.Hourdin, F.Forget 10 ! 10 11 11 ! ******************************************************************** 12 12 ! Shema d'advection " pseudo amont " . 13 13 ! ******************************************************************** 14 14 ! q,pbaru,pbarv,w sont des arguments d'entree pour le s-pg .... 15 ! 15 16 16 ! pente_max facteur de limitation des pentes: 2 en general 17 17 ! 0 pour un schema amont 18 18 ! pbaru,pbarv,w flux de masse en u ,v ,w 19 19 ! pdt pas de temps 20 ! 20 21 21 ! -------------------------------------------------------------------- 22 USE lmdz_dimensions, ONLY: iim, jjm, llm, ndm 23 USE lmdz_paramet 22 24 IMPLICIT NONE 23 25 ! 24 INCLUDE "dimensions.h" 25 INCLUDE "paramet.h" 26 27 ! 26 27 28 29 28 30 ! Arguments: 29 31 ! ---------- … … 33 35 REAL :: w(ip1jmp1, llm), pdt 34 36 INTEGER :: iq ! CRisi 35 ! 37 36 38 ! Local 37 39 ! --------- 38 ! 40 39 41 INTEGER :: ij, l 40 ! 42 41 43 REAL :: zm(ip1jmp1, llm, nqtot) 42 44 REAL :: mu(ip1jmp1, llm) … … 110 112 111 113 ! Auteurs: P.Le Van, F.Hourdin, F.Forget 112 ! 114 113 115 ! ******************************************************************** 114 116 ! Shema d'advection " pseudo amont " . 115 117 ! ******************************************************************** 116 118 ! nq,iq,q,pbaru,pbarv,w sont des arguments d'entree pour le s-pg .... 117 ! 118 ! 119 120 119 121 ! -------------------------------------------------------------------- 122 USE lmdz_dimensions, ONLY: iim, jjm, llm, ndm 123 USE lmdz_paramet 120 124 IMPLICIT NONE 121 125 ! 122 INCLUDE "dimensions.h" 123 INCLUDE "paramet.h" 124 ! 125 ! 126 127 128 129 126 130 ! Arguments: 127 131 ! ---------- … … 130 134 REAL :: q(ip1jmp1, llm, nqtot) 131 135 INTEGER :: iq ! CRisi 132 ! 136 133 137 ! Local 134 138 ! --------- 135 ! 139 136 140 INTEGER :: ij, l, j, i, iju, ijq, indu(ip1jmp1), niju 137 141 INTEGER :: n0, iadvplus(ip1jmp1, llm), nl(llm) 138 ! 142 139 143 REAL :: new_m, zu_m, zdum(ip1jmp1, llm) 140 144 REAL :: dxq(ip1jmp1, llm), dxqu(ip1jmp1) … … 424 428 USE lmdz_comgeom 425 429 426 ! 430 427 431 ! Auteurs: P.Le Van, F.Hourdin, F.Forget 428 ! 432 429 433 ! ******************************************************************** 430 434 ! Shema d'advection " pseudo amont " . … … 432 436 ! q,masse_adv_v,w sont des arguments d'entree pour le s-pg .... 433 437 ! dq sont des arguments de sortie pour le s-pg .... 434 ! 435 ! 438 439 436 440 ! -------------------------------------------------------------------- 437 441 USE comconst_mod, ONLY: pi 442 USE lmdz_dimensions, ONLY: iim, jjm, llm, ndm 443 USE lmdz_paramet 438 444 IMPLICIT NONE 439 445 ! 440 INCLUDE "dimensions.h" 441 INCLUDE "paramet.h" 442 ! 443 ! 446 447 448 449 444 450 ! Arguments: 445 451 ! ---------- … … 448 454 REAL :: q(ip1jmp1, llm, nqtot) 449 455 INTEGER :: iq ! CRisi 450 ! 456 451 457 ! Local 452 458 ! --------- 453 ! 459 454 460 INTEGER :: i, ij, l 455 ! 461 456 462 REAL :: airej2, airejjm, airescb(iim), airesch(iim) 457 463 REAL :: dyq(ip1jmp1, llm), dyqv(ip1jm) … … 493 499 ENDIF 494 500 495 ! 501 496 502 !PRINT*,'CALCUL EN LATITUDE' 497 503 498 504 DO l = 1, llm 499 ! 505 500 506 ! -------------------------------- 501 507 ! CALCUL EN LATITUDE … … 590 596 ! appn=min(pente_max/appn,1.) 591 597 ! apps=min(pente_max/apps,1.) 592 ! 593 ! 598 599 594 600 ! cas ou on a un extremum au pole 595 ! 601 596 602 ! IF(dyqv(ismin(iim,dyqv,1))*dyqv(ismax(iim,dyqv,1)).le.0.) 597 603 ! & appn=0. … … 599 605 ! & dyqv(ismin(iim,dyqv(ip1jm-iip1+1),1)+ip1jm-iip1+1).le.0.) 600 606 ! & apps=0. 601 ! 607 602 608 ! limitation des pentes aux poles 603 609 ! DO ij=1,iip1 … … 605 611 ! dyq(ip1jm+ij)=apps*dyq(ip1jm+ij) 606 612 ! ENDDO 607 ! 613 608 614 ! test 609 615 ! DO ij=1,iip1 … … 614 620 ! dyq(ij)=dyq(ij)*cos(rlatu((ij-1)/iip1+1)) 615 621 ! ENDDO 616 ! 622 617 623 ! changement 10 07 96 618 624 ! IF(dyqv(ismin(iim,dyqv,1))*dyqv(ismax(iim,dyqv,1)).le.0.) … … 626 632 ! ENDDO 627 633 ! ENDIF 628 ! 634 629 635 ! IF(dyqv(ismax(iim,dyqv(ip1jm-iip1+1),1)+ip1jm-iip1+1)* 630 636 ! & dyqv(ismin(iim,dyqv(ip1jm-iip1+1),1)+ip1jm-iip1+1).le.0.) … … 745 751 USE infotrac, ONLY: nqtot, tracers, & ! CRisi 746 752 min_qParent, min_qMass, min_ratio ! MVals et CRisi 747 ! 753 748 754 ! Auteurs: P.Le Van, F.Hourdin, F.Forget 749 ! 755 750 756 ! ******************************************************************** 751 757 ! Shema d'advection " pseudo amont " . … … 754 760 ! dq sont des arguments de sortie pour le s-pg .... 755 761 ! -------------------------------------------------------------------- 762 USE lmdz_dimensions, ONLY: iim, jjm, llm, ndm 763 USE lmdz_paramet 756 764 IMPLICIT NONE 757 765 ! 758 INCLUDE "dimensions.h" 759 INCLUDE "paramet.h" 760 ! 761 ! 766 767 768 769 762 770 ! Arguments: 763 771 ! ---------- … … 766 774 REAL :: w(ip1jmp1, llm + 1) 767 775 INTEGER :: iq 768 ! 776 769 777 ! Local 770 778 ! --------- 771 ! 779 772 780 INTEGER :: ij, l 773 ! 781 774 782 REAL :: wq(ip1jmp1, llm + 1), newmasse 775 783 … … 886 894 887 895 SUBROUTINE minmaxq(zq, qmin, qmax, comment) 888 889 INCLUDE "dimensions.h" 890 INCLUDE "paramet.h" 896 USE lmdz_dimensions, ONLY: iim, jjm, llm, ndm 897 USE lmdz_paramet 891 898 892 899 CHARACTER(LEN = 20) :: comment
Note: See TracChangeset
for help on using the changeset viewer.