/[MITgcm]/MITgcm/pkg/profiles/profiles.h
ViewVC logotype

Contents of /MITgcm/pkg/profiles/profiles.h

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


Revision 1.7 - (show annotations) (download)
Fri Jun 15 05:04:00 2007 UTC (16 years, 11 months ago) by gforget
Branch: MAIN
CVS Tags: checkpoint60, checkpoint61, checkpoint62, checkpoint59q, checkpoint59p, checkpoint59r, checkpoint59e, checkpoint59d, checkpoint59g, checkpoint59f, checkpoint59m, checkpoint59l, checkpoint59o, checkpoint59n, checkpoint59i, checkpoint59h, checkpoint59k, checkpoint59j, checkpoint62c, checkpoint62b, checkpoint62a, checkpoint62g, checkpoint62f, checkpoint62e, checkpoint62d, checkpoint62k, checkpoint62j, checkpoint62i, checkpoint62h, checkpoint62o, checkpoint62n, checkpoint62m, checkpoint62l, checkpoint62s, checkpoint62r, checkpoint62q, checkpoint62p, checkpoint62w, checkpoint62v, checkpoint62u, checkpoint62t, checkpoint62x, checkpoint61f, checkpoint61g, checkpoint61d, checkpoint61e, checkpoint61b, checkpoint61c, checkpoint61a, checkpoint61n, checkpoint61o, checkpoint61l, checkpoint61m, checkpoint61j, checkpoint61k, checkpoint61h, checkpoint61i, checkpoint61v, checkpoint61w, checkpoint61t, checkpoint61u, checkpoint61r, checkpoint61s, checkpoint61p, checkpoint61q, checkpoint61z, checkpoint61x, checkpoint61y
Changes since 1.6: +26 -2 lines
File MIME type: text/plain
o added option ALLOW_PROFILES_GENERICGRID
  -> pkg/profiles can thus be used with any grid (e.g. cs32x15) assuming
  that interpolation information (grid points and coefficients) is provided
  within the netcdf input files.
  -> sample matlab scripts can be found in MITgcm_contrib/gael
  that allow you to prepare netcdf input files.
o also modified: cleaner error print statements, cleaner stops when
  error, and more tests of the netcdf input files consistency.

1 C $Header: /u/gcmpack/MITgcm/pkg/profiles/profiles.h,v 1.6 2006/10/25 22:19:57 gforget Exp $
2 C $Name: $
3
4 C============================================================
5 C NOBSMAX : maximal number of profiles
6 C============================================================
7 INTEGER NOBSGLOB
8 PARAMETER ( NOBSGLOB = 200000 )
9 INTEGER NFILESPROFMAX
10 PARAMETER ( NFILESPROFMAX=10 )
11 INTEGER NVARMAX
12 PARAMETER ( NVARMAX=6 )
13 INTEGER NLEVELMAX
14 PARAMETER ( NLEVELMAX=100 )
15 INTEGER NUM_INTERP_POINTS
16 PARAMETER (NUM_INTERP_POINTS = 4)
17
18 C===========================================================
19 C variables
20 C===========================================================
21 _RL prof_time(NFILESPROFMAX,NOBSGLOB,nsx,nsy),
22 & prof_lon(NFILESPROFMAX,NOBSGLOB,nsx,nsy),
23 & prof_lat(NFILESPROFMAX,NOBSGLOB,nsx,nsy)
24
25 #ifdef ALLOW_PROFILES_GENERICGRID
26 _RL prof_interp_xC11(NFILESPROFMAX,NOBSGLOB,nsx,nsy)
27 _RL prof_interp_yC11(NFILESPROFMAX,NOBSGLOB,nsx,nsy)
28 _RL prof_interp_xCNINJ(NFILESPROFMAX,NOBSGLOB,nsx,nsy)
29 _RL prof_interp_yCNINJ(NFILESPROFMAX,NOBSGLOB,nsx,nsy)
30 _RL prof_interp_weights(NFILESPROFMAX,NOBSGLOB,
31 & NUM_INTERP_POINTS,nsx,nsy)
32 integer prof_interp_i(NFILESPROFMAX,NOBSGLOB,
33 & NUM_INTERP_POINTS,nsx,nsy)
34 integer prof_interp_j(NFILESPROFMAX,NOBSGLOB,
35 & NUM_INTERP_POINTS,nsx,nsy)
36 #endif
37
38 integer prof_ind_glob(NFILESPROFMAX,NOBSGLOB,nsx,nsy)
39 _RL prof_depth(NFILESPROFMAX,NLEVELMAX,nsx,nsy)
40 _RL prof_mask1D_cur(NLEVELMAX,nsx,nsy)
41 _RL prof_etan_mean(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
42
43 integer profNo(NFILESPROFMAX,nsx,nsy)
44 integer profDepthNo(NFILESPROFMAX,nsx,nsy)
45
46 logical vec_quantities(NFILESPROFMAX,NVARMAX,nsx,nsy)
47 integer fidforward(NFILESPROFMAX,nsx,nsy),
48 & fidadjoint(NFILESPROFMAX,nsx,nsy),
49 & fidtangent(NFILESPROFMAX,nsx,nsy)
50 integer fiddata(NFILESPROFMAX,nsx,nsy)
51 character*(8) prof_names(NVARMAX)
52 character*(12) prof_namesmask(NVARMAX)
53 character*(14) prof_namesweight(NVARMAX)
54
55 _RL profiles_data_buff(NLEVELMAX,1000,NVARMAX,nsx,nsy)
56 _RL profiles_weight_buff(NLEVELMAX,1000,NVARMAX,nsx,nsy)
57 integer profiles_minind_buff(nsx,nsy)
58 integer profiles_maxind_buff(nsx,nsy)
59 integer profiles_curfile_buff(nsx,nsy)
60
61 integer profilesfile_equi_type
62 integer prof_num_var_tot(NFILESPROFMAX,nsx,nsy)
63 integer prof_num_var_cur(NFILESPROFMAX,NVARMAX,nsx,nsy)
64
65 C===========================================================
66 C Common Blocks
67 C===========================================================
68
69 COMMON /profiles_r/ prof_time, prof_lon, prof_lat,
70 & prof_depth, prof_mask1D_cur, prof_etan_mean
71 COMMON /profiles_i/ prof_ind_glob, profNo, profDepthNo,
72 & fidforward, fidadjoint, fidtangent, fiddata,
73 & prof_num_var_tot, prof_num_var_cur, profilesfile_equi_type
74 COMMON /profiles_l/ vec_quantities
75 COMMON /profiles_c/ prof_names, prof_namesmask, prof_namesweight
76
77 #ifdef ALLOW_PROFILES_GENERICGRID
78 COMMON /profiles_GenericGrid_r/ prof_interp_weights,
79 & prof_interp_xC11, prof_interp_yC11,
80 & prof_interp_xCNINJ, prof_interp_yCNINJ
81 COMMON /profiles_GenericGrid_i/
82 & prof_interp_i, prof_interp_j
83 #endif
84
85 COMMON /profiles_buff_r/ profiles_data_buff, profiles_weight_buff
86 COMMON /profiles_buff_i/
87 & profiles_minind_buff, profiles_maxind_buff, profiles_curfile_buff
88
89
90 COMMON /profiles_cost_r/
91 & objf_profiles,
92 & num_profiles,
93 & mult_profiles
94 _RL objf_profiles(NFILESPROFMAX,NVARMAX,nsx,nsy)
95 _RL num_profiles(NFILESPROFMAX,NVARMAX,nsx,nsy)
96 _RL mult_profiles(NFILESPROFMAX,NVARMAX)
97
98 COMMON /profiles_cost_c/
99 & profilesfiles
100 character*(MAX_LEN_FNAM) profilesfiles(50)
101
102 COMMON /profiles_ctrl_dummy/
103 & profiles_dummy
104 _RL profiles_dummy(NFILESPROFMAX,NVARMAX,nsx,nsy)
105
106

  ViewVC Help
Powered by ViewVC 1.1.22