Ignore:
Timestamp:
May 6, 2016, 12:30:29 PM (9 years ago)
Author:
emillour
Message:

All GCMs:
Further adaptations to keep up with changes in LMDZ5 concerning
physics/dynamics separation (up to rev r2420 of LMDZ5)

  • all physics packages:
  • added module callphysiq_mod.F90 in dynphy_lonlat/phy* which contains the routine "call_physiq" which is called by calfis* and calls the physics. This way different "physiq" routine from different physics packages may be called: The calfis* routines now exposes all available fields that might be transmitted to physiq but which is actually send (ie: expected/needed by physiq) is decided in call_physiq.
  • turned "physiq.F[90]" into module "physiq_mod.F[90]" for better control of "physiq" arguments. for phyvenus/phytitan, extracted gr_fi_ecrit from physiq.F as gr_fi_ecrit.F90 (note that it can only work in serial).
  • misc:
  • updated wxios.F90 to keep up with LMDZ5 modifications.
  • dyn3d_common:
  • infotrac.F90 keep up with LMDZ5 modifications (cosmetics)
  • dyn3d:
  • gcm.F90: cosmetic cleanup.
  • leapfrog.F90: fix computation of date as function of itau.
  • dyn3dpar:
  • gcm.F: cosmetic cleanup.
  • leapfrog_p.F90: fix computation of date as function of itau.

NB: physics are given the date corresponding to the end of the
physics step.

  • dynphy_lonlat:
  • calfis.F : added computation of relative wind vorticity.
  • calfis_p.F: added computation of relative wind vorticity (input required by Earth physics)

EM

Location:
trunk/LMDZ.COMMON/libf/dyn3dpar
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified trunk/LMDZ.COMMON/libf/dyn3dpar/gcm.F

    r1543 r1549  
    2828
    2929
    30 #ifdef INCA
    31 ! Only INCA needs these informations (from the Earth's physics)
    32       USE indice_sol_mod
    33 #endif
    34 
    3530! Ehouarn: the following are needed with (parallel) physics:
    3631#ifdef CPP_PHYS
     
    8681#include "iniprint.h"
    8782#include "tracstoke.h"
    88 #ifdef INCA
    89 ! Only INCA needs these informations (from the Earth's physics)
    90 #include "indicesol.h"
    91 #endif
    9283
    9384
     
    258249      endif
    259250#endif
    260 c-----------------------------------------------------------------------
    261 
    262       IF (type_trac == 'inca') THEN
    263 #ifdef INCA
    264          call init_const_lmdz(
    265      $        nbtr,anneeref,dayref,
    266      $        iphysiq,day_step,nday,
    267      $        nbsrf, is_oce,is_sic,
    268      $        is_ter,is_lic, calend)
    269 
    270          call init_inca_para(
    271      $        iim,jjm+1,llm,klon_glo,mpi_size,
    272      $        distrib_phys,COMM_LMDZ)
    273 #endif
    274       END IF
    275 
    276251c-----------------------------------------------------------------------
    277252c   Initialisation des traceurs
     
    507482
    508483c-----------------------------------------------------------------------
    509 c   Initialisation des dimensions d'INCA :
    510 c   --------------------------------------
    511       IF (type_trac == 'inca') THEN
    512 #ifdef INCA
    513 !$OMP PARALLEL
    514          CALL init_inca_dim(klon_omp,llm,iim,jjm,
    515      $        rlonu,rlatu,rlonv,rlatv)
    516 !$OMP END PARALLEL
    517 #endif
    518       END IF
    519 
    520 c-----------------------------------------------------------------------
    521484c   Initialisation des I/O :
    522485c   ------------------------
  • TabularUnified trunk/LMDZ.COMMON/libf/dyn3dpar/leapfrog_p.F

    r1508 r1549  
    313313   1  CONTINUE ! Matsuno Forward step begins here
    314314
     315c   date: (NB: date remains unchanged for Backward step)
     316c   -----
     317
    315318      jD_cur = jD_ref + day_ini - day_ref +                             &
    316      &          itau/day_step
     319     &          (itau+1)/day_step
    317320      jH_cur = jH_ref + start_time +                                    &
    318      &         mod(itau,day_step)/float(day_step)
     321     &         mod(itau+1,day_step)/float(day_step)
    319322      if (jH_cur > 1.0 ) then
    320323        jD_cur = jD_cur +1.
     
    414417c-----------------------------------------------------------------------
    415418
    416 c   date:
     419c   date:  (NB: only leapfrog step requires recomputing date)
    417420c   -----
     421
     422      IF (leapf) THEN
     423        jD_cur = jD_ref + day_ini - day_ref +
     424     &            (itau+1)/day_step
     425        jH_cur = jH_ref + start_time +
     426     &           mod(itau+1,day_step)/float(day_step)
     427        if (jH_cur > 1.0 ) then
     428          jD_cur = jD_cur +1.
     429          jH_cur = jH_cur -1.
     430        endif
     431      ENDIF
    418432
    419433
     
    858872
    859873           jD_cur = jD_ref + day_ini - day_ref
    860      $        + itau/day_step
     874     $        + (itau+1)/day_step
    861875
    862876           IF ((planet_type .eq."generic").or.
     
    867881
    868882           jH_cur = jH_ref + start_time +                                &
    869      &              mod(itau,day_step)/float(day_step)
    870 !         call ju2ymds(jD_cur+jH_cur, an, mois, jour, secondes)
     883     &              mod(itau+1,day_step)/float(day_step)
     884           IF ((planet_type .eq."generic").or.
     885     &         (planet_type .eq."mars")) THEN
     886             jH_cur = jH_ref + start_time +                               &
     887     &          mod(itau,day_step)/float(day_step)
     888           ENDIF
    871889           if (jH_cur > 1.0 ) then
    872890             jD_cur = jD_cur +1.
Note: See TracChangeset for help on using the changeset viewer.