Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
ElmerCSC
GitHub Repository: ElmerCSC/elmerfem
Path: blob/devel/elmerice/IceSheet/Tools/ConservativeInterpolation/Interpolate.sh
3206 views
1
#! *****************************************************************************/
2
#! ******************************************************************************
3
#! *
4
#! * Authors: F. Gillet-Chaulet (IGE-France)
5
#! * Web: http://elmerice.elmerfem.org
6
#! * Original Date: 04/2019
7
#! *
8
#! *****************************************************************************
9
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
10
# Example script for conservative projection of SMB and aSMB using CDO
11
#
12
## Parameters
13
DATA_DIR=DATA
14
PROJ_DIR=PROJ_DATA
15
mkdir -p $PROJ_DIR
16
17
aSMB_BASE_NAME=aSMB_MARv3.9-yearly-MIROC5-rcp85
18
19
STRUCT_GRID=grid_ISMIP6_GrIS_01000m.nc
20
ELMER_GRID=MESH_CDOGrid.txt
21
##
22
##
23
24
## First generate projection weigths
25
echo '***************************************************************************'
26
echo '***************************************************************************'
27
echo '*** generate conservative projection weights '
28
echo ' from structured grid : ' $STRUCT_GRID
29
echo ' to unstructured : ' $ELMER_GRID
30
echo '***************************************************************************'
31
echo '***************************************************************************'
32
cdo genycon,$ELMER_GRID -selname,SMB -setgrid,$STRUCT_GRID $DATA_DIR/MARv3.9-ERA-Interim-1980-1999.nc PROJ_WEIGHTS.nc
33
34
## Now remap
35
InputFile=$DATA_DIR/MARv3.9-ERA-Interim-1980-1999.nc
36
if [[ ! -f "$InputFile" ]]; then
37
echo "$InputFile does not exist; aborting"
38
exit
39
fi
40
OutPutFile=$PROJ_DIR/MARv3.9-ERA-Interim-1980-1999-UNST.nc
41
echo '***************************************************************************'
42
echo '***************************************************************************'
43
echo '*** remap file : ' $InputFile
44
echo '***************************************************************************'
45
echo '***************************************************************************'
46
cdo remap,$ELMER_GRID,PROJ_WEIGHTS.nc -selname,SMB -setgrid,$STRUCT_GRID $InputFile $OutPutFile
47
48
# Remap aSMB Files
49
for i in {2015..2100}
50
do
51
InputFile=$DATA_DIR/"$aSMB_BASE_NAME"-"$i".nc
52
if [[ ! -f "$InputFile" ]]; then
53
echo "$InputFile does not exist; aborting"
54
exit
55
fi
56
echo '***************************************************************************'
57
echo '***************************************************************************'
58
echo '*** remap file : ' $InputFile
59
echo '***************************************************************************'
60
echo '***************************************************************************'
61
OutPutFile=$PROJ_DIR/"$aSMB_BASE_NAME"-UNST-"$i".nc
62
63
cdo remap,$ELMER_GRID,PROJ_WEIGHTS.nc -selname,aSMB -setgrid,$STRUCT_GRID $InputFile $OutPutFile
64
done
65
# Concatenate yearly files
66
ncrcat PROJ_DATA/aSMB_MARv3.9-yearly-MIROC5-rcp85-UNST-2* PROJ_DATA/aSMB_MARv3.9-yearly-MIROC5-rcp85-UNST-2015-2100.nc
67
68