- Timestamp:
- 09/23/20 16:00:58 (4 years ago)
- Location:
- codes/icosagcm/devel
- Files:
-
- 8 added
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
codes/icosagcm/devel/arch/arch-X64_IRENE.env
r809 r1052 1 # module c++/gnu is needed to link with XIOS 2 # module feature/openmpi/mpi_compiler/intel is made necessary by c++/gnu 3 4 module purge 5 module load feature/openmpi/mpi_compiler/intel 6 module load c++/gnu/7.3.0 7 module load intel/17.0.6.256 8 module load mpi/openmpi/2.0.4 1 module unload netcdf-c netcdf-fortran hdf5 flavor perl hdf5 boost blitz mpi gnu 2 #module purge 9 3 module load flavor/hdf5/parallel 10 4 module load netcdf-fortran/4.4.4 11 module load mkl/17.0.6.25612 5 module load hdf5/1.8.20 6 7 # module gnu is needed to link with XIOS 8 # module feature/openmpi/mpi_compiler/intel is made necessary by gnu 9 module load gnu 10 module load feature/bridge/heterogenous_mpmd 11 13 12 module load parmetis/4.0.3 -
codes/icosagcm/devel/src/base/init_grid_param.f90
r1051 r1052 55 55 USE compute_pression_mod 56 56 USE compute_temperature_mod 57 USE compute_vorticity_mod 58 USE compute_divergence_mod 57 59 USE vertical_interp_mod 58 60 … … 68 70 compute_pression_mid => compute_pression_mid_hex 69 71 compute_temperature => compute_temperature_hex 72 compute_vorticity => compute_vorticity_hex 73 compute_divergence => compute_divergence_hex 70 74 compute_hydrostatic_pressure => compute_hydrostatic_pressure_hex 71 75 compute_vertical_interp => compute_vertical_interp_hex … … 83 87 USE compute_pression_mod 84 88 USE compute_temperature_mod 89 USE compute_vorticity_mod 90 USE compute_divergence_mod 85 91 USE vertical_interp_mod 86 92 … … 96 102 compute_pression_mid => compute_pression_mid_unst 97 103 compute_temperature => compute_temperature_unst 104 compute_vorticity => compute_vorticity_unst 105 compute_divergence => compute_divergence_unst 98 106 compute_hydrostatic_pressure => compute_hydrostatic_pressure_unst 99 107 compute_vertical_interp => compute_vertical_interp_unst -
codes/icosagcm/devel/src/base/init_grid_param.j90
r1051 r1052 50 50 END SUBROUTINE init_grid_param 51 51 52 {%- set diags=('rhodz','pression','pression_mid','temperature',' hydrostatic_pressure','vertical_interp',52 {%- set diags=('rhodz','pression','pression_mid','temperature','vorticity','divergence', 'hydrostatic_pressure','vertical_interp', 53 53 'pvort_only','theta','geopot','caldyn_fast','caldyn_slow_hydro','caldyn_coriolis') %} 54 54 {% for grid in 'hex','unst' %} … … 58 58 USE compute_pression_mod 59 59 USE compute_temperature_mod 60 USE compute_vorticity_mod 61 USE compute_divergence_mod 60 62 USE vertical_interp_mod 61 63 -
codes/icosagcm/devel/src/diagnostics/check_conserve.f90
r913 r1052 52 52 53 53 SUBROUTINE check_conserve(f_ps,f_dps,f_ue,f_theta_rhodz,f_phis,it) 54 USE vorticity_mod54 USE compute_vorticity_mod 55 55 USE caldyn_gcm_mod 56 56 USE exner_mod … … 153 153 154 154 SUBROUTINE check_conserve_detailed(it,tag, f_ps,f_dps,f_ue,f_theta_rhodz,f_phis) 155 USE vorticity_mod156 155 USE caldyn_gcm_mod 157 156 USE exner_mod 158 ! USE mpipara, ONLY : is_mpi_root, comm_icosa159 157 USE omp_para, ONLY : is_master 160 158 INTEGER, INTENT(IN) :: tag … … 268 266 SUBROUTINE check_energy(f_ue,f_theta_rhodz,f_phis, etot, & 269 267 stot, AAM_mass_tot, AAM_vel_tot, AAM_velp_tot, AAM_velm_tot, rmsvtot) 270 USE vorticity_mod271 268 TYPE(t_field), POINTER :: f_ue(:) 272 269 TYPE(t_field), POINTER :: f_theta_rhodz(:) -
codes/icosagcm/devel/src/diagnostics/compute_diagnostics.f90
r1034 r1052 27 27 END SUBROUTINE comp_temperature 28 28 29 SUBROUTINE comp_vorticity(ue, vort) 30 IMPORT 31 REAL(rstd),INTENT(IN) :: ue(:,:) 32 REAL(rstd),INTENT(OUT) :: vort(:,:) 33 END SUBROUTINE comp_vorticity 34 35 SUBROUTINE comp_divergence(ue, div) 36 IMPORT 37 REAL(rstd),INTENT(IN) :: ue(:,:) 38 REAL(rstd),INTENT(OUT) :: div(:,:) 39 END SUBROUTINE comp_divergence 40 29 41 SUBROUTINE comp_hydro_press(rhodz, theta_rhodz, ps, p) 30 42 IMPORT … … 48 60 PROCEDURE(comp_pression), POINTER, SAVE :: compute_pression => NULL(), compute_pression_mid => NULL() 49 61 PROCEDURE(comp_temperature), POINTER, SAVE :: compute_temperature => NULL() 62 PROCEDURE(comp_vorticity), POINTER, SAVE :: compute_vorticity => NULL() 63 PROCEDURE(comp_divergence), POINTER, SAVE :: compute_divergence => NULL() 50 64 PROCEDURE(comp_hydro_press), POINTER, SAVE :: compute_hydrostatic_pressure => NULL() 51 65 PROCEDURE(comp_vert_interp), POINTER, SAVE :: compute_vertical_interp => NULL() 52 66 53 PUBLIC :: compute_rhodz, compute_pression, compute_pression_mid, compute_temperature, compute_hydrostatic_pressure,&54 compute_v ertical_interp67 PUBLIC :: compute_rhodz, compute_pression, compute_pression_mid, compute_temperature, & 68 compute_vorticity, compute_divergence, compute_hydrostatic_pressure, compute_vertical_interp 55 69 56 70 END MODULE compute_diagnostics_mod -
codes/icosagcm/devel/src/diagnostics/observable.f90
r955 r1052 46 46 USE compute_temperature_mod 47 47 USE compute_velocity_mod 48 USE compute_vorticity_mod 49 USE compute_divergence_mod 48 50 USE vertical_interp_mod 49 51 USE theta2theta_rhodz_mod … … 109 111 110 112 CALL output_field("temp_init",f_buf_i) 113 CALL output_field("vort_init",f_buf_v) 111 114 ELSE 112 115 CALL output_field("p",f_pmid) … … 123 126 CALL vertical_interp(f_pmid,f_buf_i,f_buf_s,preff) 124 127 CALL output_field("SST",f_buf_s) 128 END IF 129 130 CALL vorticity(f_u, f_buf_v) 131 CALL divergence(f_u, f_buf_i) 132 IF(init) THEN 133 CALL output_field("vort_init",f_buf_v) 134 CALL output_field("div_init",f_buf_i) 135 ELSE 136 CALL output_field("vort",f_buf_v) 137 CALL output_field("div",f_buf_i) 125 138 END IF 126 139 -
codes/icosagcm/devel/src/unstructured/unstructured.h90
r796 r1052 37 37 #define SIGNS sign1,sign2,sign3,sign4,sign5,sign6 38 38 #define EDGE_ENDS ij_up1,ij_up2,ij_up3,ij_up4,ij_up5,ij_up6,ij_down1,ij_down2,ij_down3,ij_down4,ij_down5,ij_down6 39 #define LENGTHS le_de1,le_de2,le_de3,le_de4,le_de5,le_de6 39 #define LENGTHS1 le_de1,le_de2,le_de3,le_de4,le_de5,le_de6 40 #define LENGTHS2 de1,de2,de3,de4,de5,de6 41 #define LENGTHS3 le1,le2,le3,le4,le5,le6 40 42 #define DECLARE_INDICES INTEGER INDICES1,INDICES2 41 #define DECLARE_EDGES NUM SIGNS,LENGTHS ; INTEGER EDGES, EDGE_ENDS43 #define DECLARE_EDGES NUM SIGNS,LENGTHS1,LENGTHS2,LENGTHS3 ; INTEGER EDGES, EDGE_ENDS 42 44 #define DECLARE_VERTICES INTEGER VERTICES 43 45 -
codes/icosagcm/devel/xml/field_def_dynamico.xml
r1039 r1052 28 28 <field_group axis_ref="lev"> 29 29 <field id="mass" /> 30 <field id="div" /> 30 31 <field id="p" /> 31 32 <field id="dmass"/> … … 82 83 83 84 <field id="mass_init" /> 85 <field id="div_init" /> 84 86 <field id="p_init" /> 85 87 <field id="theta_init" /> … … 123 125 <field_group domain_ref="v" axis_ref="lev"> 124 126 <field id="vort" /> 127 <field id="vort_init" /> 125 128 <field id="pv" /> 126 129 </field_group> -
codes/icosagcm/devel/xml/file_def_dynamico_native.xml
r1039 r1052 27 27 <field field_ref="p" name="P" standard_name="air_pressure" long_name="Pressure" unit="Pa"/> 28 28 <field field_ref="temp" name="T" standard_name="air_temperature" long_name="Temperature" unit="K"/> 29 <field field_ref="vort" /> 30 <field field_ref="div" /> 29 31 <!-- 30 32 <field field_ref="q1" name="Q" standard_name="specific_humidity" long_name="Specific humidity" unit="kg/kg"/>
Note: See TracChangeset
for help on using the changeset viewer.