Ignore:
Timestamp:
Jan 15, 2016, 8:27:16 AM (9 years ago)
Author:
emillour
Message:

Common dynamics:
Updates in the dynamics (seq and ) to keep up with updates
in LMDZ5 (up to LMDZ5 trunk, rev 2325):
IMPORTANT: Modifications for isotopes are only done in dyn3d, not in dyn3dpar

as in LMDZ5 these modifications were done in dyn3dmem.
Related LMDZ5 revisions are r2270 and r2281

  • in dynlonlat_phylonlat:
  • add module "grid_atob_m.F90" (a regridding utility so far only used by phylmd/ce0l.F90, used to be dyn3d_common/grid_atob.F)
  • in misc:
  • follow up updates on wxios.F (add missing_val module variable)
  • in dyn3d_common:
  • pression.F => pression.F90
  • misc_mod.F90: moved from misc to dyn3d_common
  • added new iso_verif_dyn.F
  • covcont.F => covcont.F90
  • infotrac.F90 : add handling of isotopes (reading of corresponding traceur.def for planets not implemented)
  • dynetat0.F => dynetat0.F90 with some code factorization
  • dynredem.F => dynredem.F90 with some code factorization
  • added dynredem_mod.F90: routines used by dynredem
  • iniacademic.F90 : added isotopes-related initialization for Earth case
  • in dyn3d:
  • added check_isotopes.F
  • modified (isotopes) advtrac.F90, caladvtrac.F
  • guide_mod.F90: ported updates
  • leapfrog.F : (isotopes) updates (NB: call integrd with nqtot tracers)
  • qminimium.F : adaptations for isotopes (copied over, except that #include comvert.h is not needed).
  • vlsplt.F: adaptations for isotopes (copied over, except than #include logic.h, comvert.h not needed, and replace "include comconst.h" with use comconst_mod, ONLY: pi)
  • vlspltqs.F : same as vlsplt.F, but also keeping added modification for CP(T)
  • in dyn3dpar:
  • leapfrog_p.F: remove unecessary #ifdef CPP_EARTH cpp flag. and call integrd_p with nqtot tracers (only important for Earth)
  • dynredem_p.F => dynredem_p.F90 and some code factorization
  • and no isotopes-relates changes in dyn3dpar (since these changes have been made in LMDZ5 dyn3dmem).

EM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.COMMON/libf/dyn3d/leapfrog.F

    r1422 r1508  
    1212      use IOIPSL
    1313#endif
    14       USE infotrac, ONLY: nqtot
     14      USE infotrac, ONLY: nqtot,ok_iso_verif
    1515      USE guide_mod, ONLY : guide_main
    1616      USE write_field, ONLY: writefield
     
    305305      jH_cur = jH_cur - int(jH_cur)
    306306
     307        if (ok_iso_verif) then
     308           call check_isotopes_seq(q,ip1jmp1,'leapfrog 321')
     309        endif !if (ok_iso_verif) then
    307310
    308311#ifdef CPP_IOIPSL
     
    337340!      CALL SCOPY   ( ijp1llm,   masse, 1, finvmaold,     1 )
    338341!      CALL filtreg ( finvmaold ,jjp1, llm, -2,2, .TRUE., 1 )
     342
     343        if (ok_iso_verif) then
     344           call check_isotopes_seq(q,ip1jmp1,'leapfrog 400')
     345        endif !if (ok_iso_verif) then
    339346
    340347   2  CONTINUE ! Matsuno backward or leapfrog step begins here
     
    381388#endif
    382389
     390        if (ok_iso_verif) then
     391           call check_isotopes_seq(q,ip1jmp1,'leapfrog 589')
     392        endif !if (ok_iso_verif) then
     393
    383394c-----------------------------------------------------------------------
    384395c   calcul des tendances dynamiques:
     
    419430c   -------------------------------------------------------------
    420431
     432        if (ok_iso_verif) then
     433           call check_isotopes_seq(q,ip1jmp1,
     434     &           'leapfrog 686: avant caladvtrac')
     435        endif !if (ok_iso_verif) then
     436
    421437      IF( forward. OR . leapf )  THEN
    422438! Ehouarn: NB: fields sent to advtrac are those at the beginning of the time step
     
    443459c   ----------------------------------
    444460
    445 
    446        CALL integrd ( 2,vcovm1,ucovm1,tetam1,psm1,massem1 ,
     461        if (ok_iso_verif) then
     462           write(*,*) 'leapfrog 720'
     463           call check_isotopes_seq(q,ip1jmp1,'leapfrog 756')
     464        endif !if (ok_iso_verif) then
     465       
     466       CALL integrd ( nqtot,vcovm1,ucovm1,tetam1,psm1,massem1 ,
    447467     $         dv,du,dteta,dq,dp,vcov,ucov,teta,q,ps,masse,phis )
    448468!     $              finvmaold                                    )
     469
     470       if (ok_iso_verif) then
     471          write(*,*) 'leapfrog 724'
     472           call check_isotopes_seq(q,ip1jmp1,'leapfrog 762')
     473        endif !if (ok_iso_verif) then
    449474
    450475       IF ((planet_type.eq."titan").and.(tidal)) then
     
    519544         IF (ip_ebil_dyn.ge.1 ) THEN
    520545          ztit='bil dyn'
    521 ! Ehouarn: be careful, diagedyn is Earth-specific (includes ../phylmd/..)!
     546! Ehouarn: be careful, diagedyn is Earth-specific!
    522547           IF (planet_type.eq."earth") THEN
    523548            CALL diagedyn(ztit,2,1,1,dtphys
     
    619644        CALL massdair(p,masse)
    620645
     646        if (ok_iso_verif) then
     647           call check_isotopes_seq(q,ip1jmp1,'leapfrog 1196')
     648        endif !if (ok_iso_verif) then
     649
    621650c-----------------------------------------------------------------------
    622651c   dissipation horizontale et verticale  des petites echelles:
     
    717746c   preparation du pas d'integration suivant  ......
    718747
     748        if (ok_iso_verif) then
     749           call check_isotopes_seq(q,ip1jmp1,'leapfrog 1509')
     750        endif !if (ok_iso_verif) then
     751
    719752      IF ( .NOT.purmats ) THEN
    720753c       ........................................................
     
    776809
    777810            ENDIF ! of IF((MOD(itau,iperiod).EQ.0).OR.(itau.EQ.itaufin))
     811
     812        if (ok_iso_verif) then
     813           call check_isotopes_seq(q,ip1jmp1,'leapfrog 1584')
     814        endif !if (ok_iso_verif) then
    778815
    779816c-----------------------------------------------------------------------
     
    858895      ELSE ! of IF (.not.purmats)
    859896
     897        if (ok_iso_verif) then
     898           call check_isotopes_seq(q,ip1jmp1,'leapfrog 1664')
     899        endif !if (ok_iso_verif) then
     900
    860901c       ........................................................
    861902c       ..............       schema  matsuno        ...............
     
    880921
    881922            ELSE ! of IF(forward) i.e. backward step
     923
     924        if (ok_iso_verif) then
     925           call check_isotopes_seq(q,ip1jmp1,'leapfrog 1698')
     926        endif !if (ok_iso_verif) then 
    882927
    883928              IF(MOD(itau,iperiod).EQ.0 .OR. itau.EQ.itaufin) THEN
Note: See TracChangeset for help on using the changeset viewer.