caladvtrac_mod.f90 Source File


This file depends on

sourcefile~~caladvtrac_mod.f90~~EfferentGraph sourcefile~caladvtrac_mod.f90 caladvtrac_mod.f90 sourcefile~advtrac_mod.f90 advtrac_mod.f90 sourcefile~caladvtrac_mod.f90->sourcefile~advtrac_mod.f90 sourcefile~parallel_lmdz.f90 parallel_lmdz.F90 sourcefile~caladvtrac_mod.f90->sourcefile~parallel_lmdz.f90 sourcefile~paramet_mod_h.f90 paramet_mod_h.f90 sourcefile~caladvtrac_mod.f90->sourcefile~paramet_mod_h.f90 sourcefile~allocate_field_mod.f90 allocate_field_mod.f90 sourcefile~caladvtrac_mod.f90->sourcefile~allocate_field_mod.f90 sourcefile~infotrac.f90 infotrac.f90 sourcefile~caladvtrac_mod.f90->sourcefile~infotrac.f90 sourcefile~groupe_mod.f90 groupe_mod.f90 sourcefile~caladvtrac_mod.f90->sourcefile~groupe_mod.f90 sourcefile~bands.f90 bands.f90 sourcefile~caladvtrac_mod.f90->sourcefile~bands.f90 sourcefile~advtrac_mod.f90->sourcefile~parallel_lmdz.f90 sourcefile~advtrac_mod.f90->sourcefile~paramet_mod_h.f90 sourcefile~advtrac_mod.f90->sourcefile~allocate_field_mod.f90 sourcefile~advtrac_mod.f90->sourcefile~bands.f90 sourcefile~vlspltgen_mod.f90 vlspltgen_mod.f90 sourcefile~advtrac_mod.f90->sourcefile~vlspltgen_mod.f90 sourcefile~parallel_lmdz.f90->sourcefile~paramet_mod_h.f90 sourcefile~vampir.f90 vampir.F90 sourcefile~parallel_lmdz.f90->sourcefile~vampir.f90 sourcefile~lmdz_mpi.f90 lmdz_mpi.F90 sourcefile~parallel_lmdz.f90->sourcefile~lmdz_mpi.f90 sourcefile~wxios_mod.f90 wxios_mod.F90 sourcefile~parallel_lmdz.f90->sourcefile~wxios_mod.f90 sourcefile~mod_const_mpi.f90 mod_const_mpi.f90 sourcefile~parallel_lmdz.f90->sourcefile~mod_const_mpi.f90 sourcefile~iniprint_mod_h.f90 iniprint_mod_h.f90 sourcefile~parallel_lmdz.f90->sourcefile~iniprint_mod_h.f90 sourcefile~control_mod.f90 control_mod.f90 sourcefile~parallel_lmdz.f90->sourcefile~control_mod.f90 sourcefile~allocate_field_mod.f90->sourcefile~parallel_lmdz.f90 sourcefile~allocate_field_mod.f90->sourcefile~paramet_mod_h.f90 sourcefile~mod_hallo.f90 mod_hallo.f90 sourcefile~allocate_field_mod.f90->sourcefile~mod_hallo.f90 sourcefile~infotrac.f90->sourcefile~iniprint_mod_h.f90 sourcefile~lmdz_cppkeys_wrapper.f90 lmdz_cppkeys_wrapper.F90 sourcefile~infotrac.f90->sourcefile~lmdz_cppkeys_wrapper.f90 sourcefile~infotrac.f90->sourcefile~control_mod.f90 sourcefile~strings_mod.f90 strings_mod.f90 sourcefile~infotrac.f90->sourcefile~strings_mod.f90 sourcefile~readtracfiles_mod.f90 readTracFiles_mod.f90 sourcefile~infotrac.f90->sourcefile~readtracfiles_mod.f90 sourcefile~lmdz_reprobus_wrappers.f90 lmdz_reprobus_wrappers.F90 sourcefile~infotrac.f90->sourcefile~lmdz_reprobus_wrappers.f90 sourcefile~groupe_mod.f90->sourcefile~advtrac_mod.f90 sourcefile~groupe_mod.f90->sourcefile~parallel_lmdz.f90 sourcefile~groupe_mod.f90->sourcefile~paramet_mod_h.f90 sourcefile~groupe_mod.f90->sourcefile~allocate_field_mod.f90 sourcefile~groupe_mod.f90->sourcefile~bands.f90 sourcefile~bands.f90->sourcefile~parallel_lmdz.f90 sourcefile~mod_phys_lmdz_para.f90 mod_phys_lmdz_para.f90 sourcefile~bands.f90->sourcefile~mod_phys_lmdz_para.f90 sourcefile~times.f90 times.f90 sourcefile~bands.f90->sourcefile~times.f90 sourcefile~bands.f90->sourcefile~lmdz_cppkeys_wrapper.f90 sourcefile~wxios_mod.f90->sourcefile~mod_phys_lmdz_para.f90 sourcefile~wxios_mod.f90->sourcefile~iniprint_mod_h.f90 sourcefile~wxios_mod.f90->sourcefile~strings_mod.f90 sourcefile~lmdz_xios.f90 lmdz_xios.F90 sourcefile~wxios_mod.f90->sourcefile~lmdz_xios.f90 sourcefile~dimphy.f90 dimphy.f90 sourcefile~wxios_mod.f90->sourcefile~dimphy.f90 sourcefile~geometry_mod.f90 geometry_mod.f90 sourcefile~wxios_mod.f90->sourcefile~geometry_mod.f90 sourcefile~mod_phys_lmdz_mpi_data.f90 mod_phys_lmdz_mpi_data.f90 sourcefile~wxios_mod.f90->sourcefile~mod_phys_lmdz_mpi_data.f90 sourcefile~infotrac_phy.f90 infotrac_phy.F90 sourcefile~wxios_mod.f90->sourcefile~infotrac_phy.f90 sourcefile~print_control_mod.f90 print_control_mod.f90 sourcefile~wxios_mod.f90->sourcefile~print_control_mod.f90 sourcefile~mod_phys_lmdz_transfert_para.f90 mod_phys_lmdz_transfert_para.f90 sourcefile~wxios_mod.f90->sourcefile~mod_phys_lmdz_transfert_para.f90 sourcefile~mod_grid_phy_lmdz.f90 mod_grid_phy_lmdz.f90 sourcefile~wxios_mod.f90->sourcefile~mod_grid_phy_lmdz.f90 sourcefile~nrtype.f90 nrtype.f90 sourcefile~wxios_mod.f90->sourcefile~nrtype.f90 sourcefile~ioipsl_getin_p_mod.f90 ioipsl_getin_p_mod.f90 sourcefile~wxios_mod.f90->sourcefile~ioipsl_getin_p_mod.f90 sourcefile~mod_phys_lmdz_para.f90->sourcefile~mod_phys_lmdz_mpi_data.f90 sourcefile~mod_phys_lmdz_para.f90->sourcefile~print_control_mod.f90 sourcefile~mod_phys_lmdz_para.f90->sourcefile~mod_phys_lmdz_transfert_para.f90 sourcefile~mod_phys_lmdz_para.f90->sourcefile~mod_grid_phy_lmdz.f90 sourcefile~mod_phys_lmdz_omp_data.f90 mod_phys_lmdz_omp_data.F90 sourcefile~mod_phys_lmdz_para.f90->sourcefile~mod_phys_lmdz_omp_data.f90 sourcefile~times.f90->sourcefile~parallel_lmdz.f90 sourcefile~times.f90->sourcefile~paramet_mod_h.f90 sourcefile~times.f90->sourcefile~lmdz_mpi.f90 sourcefile~mod_hallo.f90->sourcefile~parallel_lmdz.f90 sourcefile~mod_hallo.f90->sourcefile~paramet_mod_h.f90 sourcefile~mod_hallo.f90->sourcefile~lmdz_mpi.f90 sourcefile~readtracfiles_mod.f90->sourcefile~strings_mod.f90 sourcefile~readtracfiles_mod.f90->sourcefile~ioipsl_getin_p_mod.f90 sourcefile~lmdz_reprobus_wrappers.f90->sourcefile~mod_grid_phy_lmdz.f90 sourcefile~vlspltgen_mod.f90->sourcefile~parallel_lmdz.f90 sourcefile~vlspltgen_mod.f90->sourcefile~paramet_mod_h.f90 sourcefile~vlspltgen_mod.f90->sourcefile~allocate_field_mod.f90 sourcefile~vlspltgen_mod.f90->sourcefile~infotrac.f90 sourcefile~vlspltgen_mod.f90->sourcefile~bands.f90 sourcefile~vlz_mod.f90 vlz_mod.f90 sourcefile~vlspltgen_mod.f90->sourcefile~vlz_mod.f90 sourcefile~vlz_mod.f90->sourcefile~parallel_lmdz.f90 sourcefile~vlz_mod.f90->sourcefile~allocate_field_mod.f90 sourcefile~vlz_mod.f90->sourcefile~infotrac.f90 sourcefile~vlz_mod.f90->sourcefile~bands.f90 sourcefile~geometry_mod.f90->sourcefile~mod_grid_phy_lmdz.f90 sourcefile~geometry_mod.f90->sourcefile~nrtype.f90 sourcefile~mod_phys_lmdz_mpi_data.f90->sourcefile~lmdz_mpi.f90 sourcefile~mod_phys_lmdz_mpi_data.f90->sourcefile~lmdz_cppkeys_wrapper.f90 sourcefile~mod_phys_lmdz_mpi_data.f90->sourcefile~print_control_mod.f90 sourcefile~infotrac_phy.f90->sourcefile~mod_phys_lmdz_para.f90 sourcefile~infotrac_phy.f90->sourcefile~iniprint_mod_h.f90 sourcefile~infotrac_phy.f90->sourcefile~lmdz_cppkeys_wrapper.f90 sourcefile~infotrac_phy.f90->sourcefile~strings_mod.f90 sourcefile~infotrac_phy.f90->sourcefile~readtracfiles_mod.f90 sourcefile~infotrac_phy.f90->sourcefile~lmdz_reprobus_wrappers.f90 sourcefile~infotrac_phy.f90->sourcefile~ioipsl_getin_p_mod.f90 sourcefile~mod_phys_lmdz_transfert_para.f90->sourcefile~mod_phys_lmdz_mpi_data.f90 sourcefile~mod_phys_lmdz_mpi_transfert.f90 mod_phys_lmdz_mpi_transfert.f90 sourcefile~mod_phys_lmdz_transfert_para.f90->sourcefile~mod_phys_lmdz_mpi_transfert.f90 sourcefile~mod_phys_lmdz_omp_transfert.f90 mod_phys_lmdz_omp_transfert.f90 sourcefile~mod_phys_lmdz_transfert_para.f90->sourcefile~mod_phys_lmdz_omp_transfert.f90 sourcefile~mod_phys_lmdz_omp_data.f90->sourcefile~dimphy.f90 sourcefile~mod_phys_lmdz_omp_data.f90->sourcefile~mod_phys_lmdz_mpi_data.f90 sourcefile~mod_phys_lmdz_omp_data.f90->sourcefile~print_control_mod.f90 sourcefile~ioipsl_getin_p_mod.f90->sourcefile~mod_phys_lmdz_para.f90 sourcefile~ioipsl_getin_p_mod.f90->sourcefile~strings_mod.f90 sourcefile~ioipsl_getin_p_mod.f90->sourcefile~mod_phys_lmdz_transfert_para.f90 sourcefile~mod_phys_lmdz_mpi_transfert.f90->sourcefile~lmdz_mpi.f90 sourcefile~mod_phys_lmdz_mpi_transfert.f90->sourcefile~mod_phys_lmdz_mpi_data.f90 sourcefile~mod_phys_lmdz_mpi_transfert.f90->sourcefile~mod_grid_phy_lmdz.f90 sourcefile~mod_phys_lmdz_omp_transfert.f90->sourcefile~mod_phys_lmdz_mpi_data.f90 sourcefile~mod_phys_lmdz_omp_transfert.f90->sourcefile~mod_phys_lmdz_omp_data.f90

Files dependent on this one

sourcefile~~caladvtrac_mod.f90~~AfferentGraph sourcefile~caladvtrac_mod.f90 caladvtrac_mod.f90 sourcefile~leapfrog_mod.f90 leapfrog_mod.f90 sourcefile~leapfrog_mod.f90->sourcefile~caladvtrac_mod.f90 sourcefile~caladvtrac_loc.f90 caladvtrac_loc.f90 sourcefile~caladvtrac_loc.f90->sourcefile~caladvtrac_mod.f90 sourcefile~fluxstokenc_p.f90 fluxstokenc_p.f90 sourcefile~fluxstokenc_p.f90->sourcefile~caladvtrac_mod.f90 sourcefile~leapfrog_loc.f90 leapfrog_loc.f90 sourcefile~leapfrog_loc.f90->sourcefile~leapfrog_mod.f90

Contents

Source Code


Source Code

MODULE caladvtrac_mod

  REAL,POINTER,SAVE :: q_adv(:,:,:)
  REAL,POINTER,SAVE :: massem_adv(:,:)
  REAL,POINTER,SAVE :: wg_adv(:,:)
  REAL,POINTER,SAVE :: teta_adv(:,:)
  REAL,POINTER,SAVE :: p_adv(:,:)
  REAL,POINTER,SAVE :: pk_adv(:,:)
  REAL,POINTER,SAVE :: pbarug_adv(:,:)
  REAL,POINTER,SAVE :: pbarvg_adv(:,:)
  REAL,POINTER,SAVE :: pbaruc(:,:)
  REAL,POINTER,SAVE :: pbarvc(:,:)
  REAL,POINTER,SAVE :: pbarug(:,:)
  REAL,POINTER,SAVE :: pbarvg(:,:)
  REAL,POINTER,SAVE :: wg(:,:)

  REAL,POINTER,SAVE :: massem(:,:)
  !Offline
  REAL,POINTER,SAVE :: tetac(:,:)
  REAL,POINTER,SAVE :: massec(:,:)
  REAL,POINTER,SAVE :: phic(:,:)
  REAL,POINTER,SAVE :: pbarucc(:,:)
  REAL,POINTER,SAVE :: pbarvcc(:,:)
  REAL,POINTER,SAVE :: pbarugg(:,:)
  REAL,POINTER,SAVE :: pbarvgg(:,:)
  REAL,POINTER,SAVE :: wgg(:,:)
CONTAINS

  SUBROUTINE caladvtrac_allocate
  USE bands
  USE allocate_field_mod
  USE parallel_lmdz
  USE infotrac, ONLY: nqtot
  USE advtrac_mod, ONLY : advtrac_allocate
  USE groupe_mod 
  USE dimensions_mod, ONLY: iim, jjm, llm, ndm
USE paramet_mod_h
IMPLICIT NONE


  TYPE(distrib),POINTER :: d

    d=>distrib_vanleer
    CALL allocate_u(q_adv,llm,nqtot,d)
    CALL allocate_u(massem_adv,llm,d)
    CALL allocate_u(wg_adv,llm,d)
    CALL allocate_u(teta_adv,llm,d)
    CALL allocate_u(p_adv,llmp1,d)
    CALL allocate_u(pk_adv,llm,d)
    CALL allocate_u(pbarug_adv,llm,d)
    CALL allocate_v(pbarvg_adv,llm,d)

    d=>distrib_caldyn
    CALL allocate_u(massem,llm,d)
    CALL allocate_u(pbaruc,llm,d)
    pbaruc(:,:)=0
    CALL allocate_v(pbarvc,llm,d)
    pbarvc(:,:)=0
    CALL allocate_u(pbarug,llm,d)
    CALL allocate_v(pbarvg,llm,d)
    CALL allocate_u(wg,llm,d)
    ! Offline
    CALL allocate_u(tetac,llm,d)
    CALL allocate_u(phic,llm,d)
    CALL allocate_u(pbarucc,llm,d)
    CALL allocate_v(pbarvcc,llm,d)
    CALL allocate_u(massec,llm,d)
    CALL allocate_u(pbarugg,llm,d)
    CALL allocate_v(pbarvgg,llm,d)
    CALL allocate_u(wgg,llm,d)

    CALL groupe_allocate
    CALL advtrac_allocate
    
  END SUBROUTINE caladvtrac_allocate
  
  SUBROUTINE caladvtrac_switch_caldyn(dist)
  USE allocate_field_mod
  USE bands
  USE parallel_lmdz
  USE groupe_mod
  IMPLICIT NONE
    TYPE(distrib),INTENT(IN) :: dist

    CALL switch_u(massem,distrib_caldyn,dist)
    CALL switch_u(pbaruc,distrib_caldyn,dist)
    CALL switch_v(pbarvc,distrib_caldyn,dist,up=1)
    CALL switch_u(pbarug,distrib_caldyn,dist)
    CALL switch_v(pbarvg,distrib_caldyn,dist)
    CALL switch_u(wg,distrib_caldyn,dist)
    
    CALL groupe_switch_caldyn(dist)

  END SUBROUTINE caladvtrac_switch_caldyn
  
  SUBROUTINE caladvtrac_switch_vanleer(dist)
  USE allocate_field_mod
  USE bands
  USE parallel_lmdz
  USE advtrac_mod, ONLY : advtrac_switch_vanleer 
  IMPLICIT NONE
    TYPE(distrib),INTENT(IN) :: dist
  
    CALL switch_u(q_adv,distrib_vanleer,dist)
    CALL switch_u(massem_adv,distrib_vanleer,dist)
    CALL switch_u(wg_adv,distrib_vanleer,dist)
    CALL switch_u(teta_adv,distrib_vanleer,dist)
    CALL switch_u(p_adv,distrib_vanleer,dist)
    CALL switch_u(pk_adv,distrib_vanleer,dist)
    CALL switch_u(pbarug_adv,distrib_vanleer,dist)
    CALL switch_v(pbarvg_adv,distrib_vanleer,dist)

    CALL advtrac_switch_vanleer(dist)
    
  END SUBROUTINE caladvtrac_switch_vanleer  
  
END MODULE caladvtrac_mod