[cig-commits] [commit] master: adding sem stuff to field_transform, increasing file version (ca4b300)
cig_noreply at geodynamics.org
cig_noreply at geodynamics.org
Wed Oct 8 04:58:22 PDT 2014
Repository : https://github.com/geodynamics/axisem
On branch : master
Link : https://github.com/geodynamics/axisem/compare/a12566616106b220d8bd7c62619a125ba214e52e...ca4b3002407f17f95bbf7013f7622a43ceb4db35
>---------------------------------------------------------------
commit ca4b3002407f17f95bbf7013f7622a43ceb4db35
Author: martinvandriel <vandriel at erdw.ethz.ch>
Date: Wed Oct 8 13:57:59 2014 +0200
adding sem stuff to field_transform, increasing file version
should be backward compatible, just adding some data
>---------------------------------------------------------------
ca4b3002407f17f95bbf7013f7622a43ceb4db35
SOLVER/UTILS/field_transform.F90 | 122 +++++++++++++++++++++++++++++++++++++++
SOLVER/parameters.F90 | 2 +-
2 files changed, 123 insertions(+), 1 deletion(-)
diff --git a/SOLVER/UTILS/field_transform.F90 b/SOLVER/UTILS/field_transform.F90
index f845ddc..778b40f 100644
--- a/SOLVER/UTILS/field_transform.F90
+++ b/SOLVER/UTILS/field_transform.F90
@@ -52,6 +52,13 @@ program field_transformation
ncout_mesh_midpoint_varid
integer :: ncin_mesh_sem_varid, ncin_mesh_fem_varid, &
ncin_mesh_midpoint_varid
+
+ integer :: ncin_mesh_G0_varid, ncout_mesh_G0_varid
+ integer :: ncin_mesh_G1_varid, ncout_mesh_G1_varid
+ integer :: ncin_mesh_G2_varid, ncout_mesh_G2_varid
+ integer :: ncin_mesh_gll_varid, ncout_mesh_gll_varid
+ integer :: ncin_mesh_glj_varid, ncout_mesh_glj_varid
+
integer :: ncout_mesh_eltype_varid, ncout_mesh_axis_varid
integer :: ncin_mesh_eltype_varid, ncin_mesh_axis_varid
@@ -70,6 +77,7 @@ program field_transformation
real, allocatable :: data_mesh(:), data_surf_1d(:), data_surf_3d(:,:,:)
integer, allocatable :: int_data_1d(:), int_data_2d(:,:), int_data_3d(:,:,:)
+ double precision, allocatable :: dp_data_1d(:), dp_data_2d(:,:)
real(kind=8), dimension(:,:), allocatable :: datat, datat_t
@@ -343,6 +351,34 @@ program field_transformation
call check( nf90_def_var_fletcher32(ncid = ncout_mesh_grpid, &
varid = ncout_mesh_mpz_varid, &
fletcher32=1) )
+
+ call check( nf90_def_var( ncid = ncout_mesh_grpid, &
+ name = 'G0', &
+ xtype = NF90_DOUBLE, &
+ dimids = nc_mesh_npol_dimid, &
+ varid = ncout_mesh_G0_varid) )
+ call check( nf90_def_var( ncid = ncout_mesh_grpid, &
+ name = 'G1', &
+ xtype = NF90_DOUBLE, &
+ dimids = [nc_mesh_npol_dimid, &
+ nc_mesh_npol_dimid], &
+ varid = ncout_mesh_G1_varid) )
+ call check( nf90_def_var( ncid = ncout_mesh_grpid, &
+ name = 'G2', &
+ xtype = NF90_DOUBLE, &
+ dimids = [nc_mesh_npol_dimid, &
+ nc_mesh_npol_dimid], &
+ varid = ncout_mesh_G2_varid) )
+ call check( nf90_def_var( ncid = ncout_mesh_grpid, &
+ name = 'gll', &
+ xtype = NF90_DOUBLE, &
+ dimids = nc_mesh_npol_dimid, &
+ varid = ncout_mesh_gll_varid) )
+ call check( nf90_def_var( ncid = ncout_mesh_grpid, &
+ name = 'glj', &
+ xtype = NF90_DOUBLE, &
+ dimids = nc_mesh_npol_dimid, &
+ varid = ncout_mesh_glj_varid) )
endif
@@ -638,6 +674,92 @@ program field_transformation
count = [nelem], &
values = data_mesh))
deallocate(data_mesh)
+
+ allocate(dp_data_1d(0:npol))
+
+ call check( nf90_inq_varid( ncid = ncin_mesh_grpid, &
+ varid = ncin_mesh_gll_varid, &
+ name = 'gll' ))
+
+ call check( nf90_get_var( ncid = ncin_mesh_grpid, &
+ varid = ncin_mesh_gll_varid, &
+ start = [1], &
+ count = [npol+1], &
+ values = dp_data_1d) )
+
+ call check( nf90_put_var( ncid = ncout_mesh_grpid, &
+ varid = ncout_mesh_gll_varid, &
+ start = [1], &
+ count = [npol+1], &
+ values = dp_data_1d))
+
+ call check( nf90_inq_varid( ncid = ncin_mesh_grpid, &
+ varid = ncin_mesh_glj_varid, &
+ name = 'glj' ))
+
+ call check( nf90_get_var( ncid = ncin_mesh_grpid, &
+ varid = ncin_mesh_glj_varid, &
+ start = [1], &
+ count = [npol+1], &
+ values = dp_data_1d) )
+
+ call check( nf90_put_var( ncid = ncout_mesh_grpid, &
+ varid = ncout_mesh_glj_varid, &
+ start = [1], &
+ count = [npol+1], &
+ values = dp_data_1d))
+
+ call check( nf90_inq_varid( ncid = ncin_mesh_grpid, &
+ varid = ncin_mesh_G0_varid, &
+ name = 'G0' ))
+
+ call check( nf90_get_var( ncid = ncin_mesh_grpid, &
+ varid = ncin_mesh_G0_varid, &
+ start = [1], &
+ count = [npol+1], &
+ values = dp_data_1d) )
+
+ call check( nf90_put_var( ncid = ncout_mesh_grpid, &
+ varid = ncout_mesh_G0_varid, &
+ start = [1], &
+ count = [npol+1], &
+ values = dp_data_1d))
+
+ deallocate(dp_data_1d)
+
+ allocate(dp_data_2d(0:npol,0:npol))
+ call check( nf90_inq_varid( ncid = ncin_mesh_grpid, &
+ varid = ncin_mesh_G1_varid, &
+ name = 'G1' ))
+
+ call check( nf90_get_var( ncid = ncin_mesh_grpid, &
+ varid = ncin_mesh_G1_varid, &
+ start = [1,1], &
+ count = [npol+1, npol+1], &
+ values = dp_data_2d) )
+
+ call check( nf90_put_var( ncid = ncout_mesh_grpid, &
+ varid = ncout_mesh_G1_varid, &
+ start = [1,1], &
+ count = [npol+1, npol+1], &
+ values = dp_data_2d))
+
+ call check( nf90_inq_varid( ncid = ncin_mesh_grpid, &
+ varid = ncin_mesh_G2_varid, &
+ name = 'G2' ))
+
+ call check( nf90_get_var( ncid = ncin_mesh_grpid, &
+ varid = ncin_mesh_G2_varid, &
+ start = [1,1], &
+ count = [npol+1, npol+1], &
+ values = dp_data_2d) )
+
+ call check( nf90_put_var( ncid = ncout_mesh_grpid, &
+ varid = ncout_mesh_G2_varid, &
+ start = [1,1], &
+ count = [npol+1, npol+1], &
+ values = dp_data_2d))
+ deallocate(dp_data_2d)
endif
! Done with the mesh
diff --git a/SOLVER/parameters.F90 b/SOLVER/parameters.F90
index 6091847..00491e1 100644
--- a/SOLVER/parameters.F90
+++ b/SOLVER/parameters.F90
@@ -1439,7 +1439,7 @@ subroutine write_parameters
if ((mynum.eq.0).and.(use_netcdf)) then !Only proc0 has the netcdf file open at that point
! write generic simulation info file
write(6,*) ' Writing simulation info to netcdf file attributes'
- call nc_write_att_int( 4, 'file version')
+ call nc_write_att_int( 5, 'file version')
call nc_write_att_char( trim(bkgrdmodel), 'background model')
call nc_write_att_int( merge(1, 0, do_anel), 'attenuation') ! merge: hacky conversion of logical to int
call nc_write_att_dble( router / 1000, 'planet radius')
More information about the CIG-COMMITS
mailing list