C $Header: /u/gcmpack/MITgcm/pkg/profiles/profiles.h,v 1.7 2007/06/15 05:04:00 gforget Exp $
C $Name: $
C============================================================
C NOBSMAX : maximal number of profiles
C============================================================
INTEGER NOBSGLOB
PARAMETER ( NOBSGLOB = 200000 )
INTEGER NFILESPROFMAX
PARAMETER ( NFILESPROFMAX=10 )
INTEGER NVARMAX
PARAMETER ( NVARMAX=6 )
INTEGER NLEVELMAX
PARAMETER ( NLEVELMAX=100 )
INTEGER NUM_INTERP_POINTS
PARAMETER (NUM_INTERP_POINTS = 4)
C===========================================================
C variables
C===========================================================
_RL prof_time(NFILESPROFMAX,NOBSGLOB,nsx,nsy),
& prof_lon(NFILESPROFMAX,NOBSGLOB,nsx,nsy),
& prof_lat(NFILESPROFMAX,NOBSGLOB,nsx,nsy)
#ifdef ALLOW_PROFILES_GENERICGRID
_RL prof_interp_xC11(NFILESPROFMAX,NOBSGLOB,nsx,nsy)
_RL prof_interp_yC11(NFILESPROFMAX,NOBSGLOB,nsx,nsy)
_RL prof_interp_xCNINJ(NFILESPROFMAX,NOBSGLOB,nsx,nsy)
_RL prof_interp_yCNINJ(NFILESPROFMAX,NOBSGLOB,nsx,nsy)
_RL prof_interp_weights(NFILESPROFMAX,NOBSGLOB,
& NUM_INTERP_POINTS,nsx,nsy)
integer prof_interp_i(NFILESPROFMAX,NOBSGLOB,
& NUM_INTERP_POINTS,nsx,nsy)
integer prof_interp_j(NFILESPROFMAX,NOBSGLOB,
& NUM_INTERP_POINTS,nsx,nsy)
#endif
integer prof_ind_glob(NFILESPROFMAX,NOBSGLOB,nsx,nsy)
_RL prof_depth(NFILESPROFMAX,NLEVELMAX,nsx,nsy)
_RL prof_mask1D_cur(NLEVELMAX,nsx,nsy)
_RL prof_etan_mean(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy)
integer profNo(NFILESPROFMAX,nsx,nsy)
integer profDepthNo(NFILESPROFMAX,nsx,nsy)
logical vec_quantities(NFILESPROFMAX,NVARMAX,nsx,nsy)
integer fidforward(NFILESPROFMAX,nsx,nsy),
& fidadjoint(NFILESPROFMAX,nsx,nsy),
& fidtangent(NFILESPROFMAX,nsx,nsy)
integer fiddata(NFILESPROFMAX,nsx,nsy)
character*(8) prof_names(NVARMAX)
character*(12) prof_namesmask(NVARMAX)
character*(14) prof_namesweight(NVARMAX)
_RL profiles_data_buff(NLEVELMAX,1000,NVARMAX,nsx,nsy)
_RL profiles_weight_buff(NLEVELMAX,1000,NVARMAX,nsx,nsy)
integer profiles_minind_buff(nsx,nsy)
integer profiles_maxind_buff(nsx,nsy)
integer profiles_curfile_buff(nsx,nsy)
integer profilesfile_equi_type
integer prof_num_var_tot(NFILESPROFMAX,nsx,nsy)
integer prof_num_var_cur(NFILESPROFMAX,NVARMAX,nsx,nsy)
C===========================================================
C Common Blocks
C===========================================================
COMMON /profiles_r/ prof_time, prof_lon, prof_lat,
& prof_depth, prof_mask1D_cur, prof_etan_mean
COMMON /profiles_i/ prof_ind_glob, profNo, profDepthNo,
& fidforward, fidadjoint, fidtangent, fiddata,
& prof_num_var_tot, prof_num_var_cur, profilesfile_equi_type
COMMON /profiles_l/ vec_quantities
COMMON /profiles_c/ prof_names, prof_namesmask, prof_namesweight
#ifdef ALLOW_PROFILES_GENERICGRID
COMMON /profiles_GenericGrid_r/ prof_interp_weights,
& prof_interp_xC11, prof_interp_yC11,
& prof_interp_xCNINJ, prof_interp_yCNINJ
COMMON /profiles_GenericGrid_i/
& prof_interp_i, prof_interp_j
#endif
COMMON /profiles_buff_r/ profiles_data_buff, profiles_weight_buff
COMMON /profiles_buff_i/
& profiles_minind_buff, profiles_maxind_buff, profiles_curfile_buff
COMMON /profiles_cost_r/
& objf_profiles,
& num_profiles,
& mult_profiles
_RL objf_profiles(NFILESPROFMAX,NVARMAX,nsx,nsy)
_RL num_profiles(NFILESPROFMAX,NVARMAX,nsx,nsy)
_RL mult_profiles(NFILESPROFMAX,NVARMAX)
COMMON /profiles_cost_c/
& profilesfiles
character*(MAX_LEN_FNAM) profilesfiles(50)
COMMON /profiles_ctrl_dummy/
& profiles_dummy
_RL profiles_dummy(NFILESPROFMAX,NVARMAX,nsx,nsy)