/[MITgcm]/MITgcm/pkg/diagnostics/config_diags
ViewVC logotype

Contents of /MITgcm/pkg/diagnostics/config_diags

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.2 - (show annotations) (download)
Sun Dec 19 01:52:00 2004 UTC (19 years, 4 months ago) by jmc
Branch: MAIN
CVS Tags: HEAD
Changes since 1.1: +0 -0 lines
FILE REMOVED
* solve the way diagnostics can be added in a different way (since
  equivalences are not needed); remove thoses files that can be confusing

1 #!/bin/sh
2
3 # External files names
4 dlst=diags.lst
5 dinc=diagnostics.inc
6 ivinc=diagnostics_init_vals.inc
7
8 # Temporary files
9 dc=diagnostics_char.inc
10 dec=diagnostics_equiv_char.inc
11 dikn=diagnostics_ikn.inc
12 dei=diagnostics_equiv_i.inc
13 dek=diagnostics_equiv_k.inc
14 den=diagnostics_equiv_n.inc
15 ivc=diagnostics_init_vals_cdiag.inc
16 ivt=diagnostics_init_vals_tdiag.inc
17 ivu=diagnostics_init_vals_udiag.inc
18 ivg=diagnostics_init_vals_gdiag.inc
19
20
21 ndiags=`wc -l < $dlst`
22 echo Number of diagnostics in \"$dlst\" = $ndiags
23
24 rm -f $dc $dec $dikn $dei $dek $den $ivc $ivt
25 ln=0
26 for (( ; 1+ndiags- ++ln ; )); do
27 ln3=`printf "%3i" $ln`
28 line=`nl -s" " $dlst | egrep "^ *$ln " -`
29 line=`echo $line | sed "s/' '/,/g" | sed "s/'//g" | sed 's/[0-9]* [A-Z0-9_]* //'`
30 vname=`echo $line | awk -F ',' '{print $1}'`
31 title=`echo $line | awk -F ',' '{print $3}'`
32 units=`echo $line | awk -F ',' '{print $4}'`
33 grid=`echo $line | awk -F ',' '{print $2}'`
34 echo "$ln3: $vname $title"
35 echo " CHARACTER*8 "C$vname >> $dc
36 echo " EQUIVALENCE ( CDIAG($ln3) , C$vname )" >> $dec
37 echo " INTEGER I$vname , K$vname , N$vname" >> $dikn
38 echo " EQUIVALENCE ( IDIAG($ln3) , I$vname )" >> $dei
39 echo " EQUIVALENCE ( KDIAG($ln3) , K$vname )" >> $dek
40 echo " EQUIVALENCE ( NDIAG($ln3) , N$vname )" >> $den
41 rv=`echo $vname | rev`
42 rv=`printf "%8.8s" $rv | rev`
43 echo " CDIAG($ln3) = '$rv'" >> $ivc
44 echo " TDIAG($ln3) =" >> $ivt
45 echo " .'$title'" >> $ivt
46 echo " UDIAG($ln3) = '$units'" >> $ivu
47 echo " GDIAG($ln3) = '$grid'" >> $ivg
48 done
49
50 # Build the Fortran header file
51 cat $dc > $dinc
52 echo >> $dinc
53 cat $dec >> $dinc
54 echo >> $dinc
55 cat $dikn >> $dinc
56 echo >> $dinc
57 echo "c Diagnostic Pointers" >> $dinc
58 echo "c -------------------" >> $dinc
59 cat $dei >> $dinc
60 echo >> $dinc
61 echo "c Diagnostic Levels" >> $dinc
62 echo "c -------------------" >> $dinc
63 cat $dek >> $dinc
64 echo >> $dinc
65 echo "c Diagnostic Counters" >> $dinc
66 echo "c -------------------" >> $dinc
67 cat $den >> $dinc
68
69 rm -f $dc $dec $dikn $dei $dek $den
70
71 # Build the Fortran init vals file
72 cat $ivc > $ivinc
73 echo >> $ivinc
74 cat $ivt > $ivinc
75 echo >> $ivinc
76 cat $ivu > $ivinc
77 echo >> $ivinc
78 cat $ivg > $ivinc
79 echo >> $ivinc
80 rm -f $ivc $ivt $ivu $ivg

  ViewVC Help
Powered by ViewVC 1.1.22