⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vicnl_def.h

📁 超强的大尺度水文模拟工具
💻 H
📖 第 1 页 / 共 3 页
字号:
  char     PRT_BALANCE;  char     PRT_FLUX;  char     PRT_GLOBAL;  char     PRT_GRID;  char     PRT_KAPPA;  char     PRT_MOIST;  char     PRT_SNOW;  char     PRT_SOIL;  char     PRT_TEMP;  char     PRT_VAR;  char     PRT_VEGE;  char     debug_dir[512];  double **inflow[2];  double **outflow[2];  double **store_moist[2];} debug_struct;#endif/*******************************************************  Stores forcing file input information.*******************************************************/typedef struct {  char    SIGNED;  int     SUPPLIED;  double  multiplier;} force_type_struct;/******************************************************************  This structure records the parameters set by the forcing file  input routines.  Those filled, are used to estimate the paramters  needed for the model run in initialize_atmos.c.  ******************************************************************/typedef struct {  force_type_struct TYPE[N_FORCING_TYPES];  int  FORCE_DT[2];     /* forcing file time step */  int  FORCE_ENDIAN[2]; /* endian-ness of input file, used for			   DAILY_BINARY format */  int  FORCE_FORMAT[2]; /* ASCII or BINARY */  int  FORCE_INDEX[2][N_FORCING_TYPES];  int  N_TYPES[2];} param_set_struct;/*******************************************************  This structure stores all model run global parameters.  *******************************************************/typedef struct {#if SAVE_STATE  char   statename[MAXSTRING];  /* name of file in which to store model state */#endif  double MAX_SNOW_TEMP; /* maximum temperature at which snow can fall (C) */  double MIN_RAIN_TEMP; /* minimum temperature at which rain can fall (C) */  double measure_h;  /* height of measurements (m) */  double wind_h;     /* height of wind measurements (m) */   float  resolution; /* Model resolution (degrees) */  int    dt;         /* Time step in hours (24/dt must be an integer) */  int    endday;     /* Last day of model simulation */  int    endmonth;   /* Last month of model simulation */  int    endyear;    /* Last year of model simulation */  int    forceday[2];   /* day forcing files starts */  int    forcehour[2];  /* hour forcing files starts */  int    forcemonth[2]; /* month forcing files starts */  int    forceskip[2];  /* number of model time steps to skip at the start of			the forcing file */  int    forceyear[2];  /* year forcing files start */  int    nrecs;      /* Number of time steps simulated */  int    skipyear;   /* Number of years to skip before writing output data */  int    startday;   /* Starting day of the simulation */  int    starthour;  /* Starting hour of the simulation */  int    startmonth; /* Starting month of the simulation */  int    startyear;  /* Starting year of the simulation */#if SAVE_STATE  int    stateday;   /* Day of the simulation at which to save model state */  int    statemonth; /* Month of the simulation at which to save model state */  int    stateyear;  /* Year of the simulation at which to save model state */#endif} global_param_struct;/***********************************************************  This structure stores the soil parameters for a grid cell.  ***********************************************************/typedef struct {  int      FS_ACTIVE;                 /* if TRUE frozen soil algorithm is 					 active in current grid cell */  double   Ds;                        /* fraction of maximum subsurface flow 					 rate */  double   Dsmax;                     /* maximum subsurface flow rate 					 (mm/day) */  double   Ksat[MAX_LAYERS];          /* saturated hydraulic  conductivity 					 (mm/day) */  double   Wcr[MAX_LAYERS];           /* critical moisture level for soil 					 layer, evaporation is no longer 					 affected moisture stress in the 					 soil (mm) */  double   Wpwp[MAX_LAYERS];          /* soil moisture content at permanent 					 wilting point (mm) */  double   Ws;                        /* fraction of maximum soil moisture */  double   alpha[MAX_NODES];          /* thermal solution constant */  double   annual_prec;               /* annual average precipitation (mm) */  double   avg_temp;                  /* average soil temperature (C) */  double   avgJulyAirTemp;            /* Average July air temperature (C) */  double   b_infilt;                  /* infiltration parameter */  double   beta[MAX_NODES];           /* thermal solution constant */  double   bubble[MAX_LAYERS];        /* bubbling pressure, HBH 5.15 (cm) */  double   bubble_node[MAX_NODES];    /* bubbling pressure (cm) */  double   bulk_density[MAX_LAYERS];  /* soil bulk density (kg/m^3) */  double   c;                         /* exponent */  double   depth[MAX_LAYERS];         /* thickness of each soil moisture 					 layer (m) */  double   dp;                        /* soil thermal damping depth (m) */  double   dz_node[MAX_NODES];        /* thermal node thickness (m) */  double   expt[MAX_LAYERS];          /* pore-size distribution per layer, 					 HBH 5.15 */  double   expt_node[MAX_NODES];      /* pore-size distribution per node */  double   gamma[MAX_NODES];          /* thermal solution constant */  double   init_moist[MAX_LAYERS];    /* initial layer moisture level (mm) */  double   max_infil;                 /* maximum infiltration rate */  double   max_moist[MAX_LAYERS];     /* maximum moisture content (mm) per 					 layer */  double   max_moist_node[MAX_NODES]; /* maximum moisture content (mm/mm) per 					 node */  double   phi_s[MAX_LAYERS];         /* soil moisture diffusion parameter 					 (mm/mm) */  double   porosity[MAX_LAYERS];      /* porosity (fraction) */  double   quartz[MAX_LAYERS];        /* quartz content of soil (fraction) */  double   resid_moist[MAX_LAYERS];   /* residual moisture content of soil 					 layer */  double   rough;                     /* soil surface roughness (m) */  double   snow_rough;                /* snow surface roughness (m) */  double   soil_density[MAX_LAYERS];  /* soil partical density (kg/m^3) */  double  *AreaFract;                 /* Fraction of grid cell included in 					 each elevation band */  double  *Pfactor;                   /* Change in Precipitation due to 					 elevation (fract) */  double  *Tfactor;                   /* Change in temperature due to 					 elevation (C) */  char    *AboveTreeLine;             // Flag to indicate if band is above                                       // the treeline#if QUICK_FS  double **ufwc_table_layer[MAX_LAYERS];  double **ufwc_table_node[MAX_NODES]; #endif  float    elevation;                 /* grid cell elevation (m) */  float    lat;                       /* grid cell central latitude */  float    lng;                       /* grid cell central longitude */  float    time_zone_lng;             /* central meridian of the time zone */  float  **layer_node_fract;          /* fraction of all nodes within each 					 layer */  int      gridcel;                   /* grid cell number */} soil_con_struct;/*******************************************************************  This structure stores information about the vegetation coverage of  the current grid cell.  *******************************************************************/typedef struct {  double  Cv;               /* fraction of vegetation coverage */   double  Cv_sum;           /* total fraction of vegetation coverage */  float   root[MAX_LAYERS]; /* percent of roots in each soil layer (fraction) */  float  *zone_depth;       /* depth of root zone */  float  *zone_fract;       /* fraction of roots within root zone */  int     veg_class;        /* vegetation class reference number */  int     vegetat_type_num; /* number of vegetation types in the grid cell */} veg_con_struct;/******************************************************************  This structure stores parameters for individual vegetation types.  ******************************************************************/typedef struct {  char   overstory;        /* TRUE = overstory present, important for snow 			      accumulation in canopy */  double LAI[12];          /* monthly leaf area index */  double Wdmax[12];        /* maximum monthly dew holding capacity (mm) */  double albedo[12];       /* vegetation albedo (added for full energy) 			      (fraction) */  double displacement[12]; /* vegetation displacement height (m) */  double emissivity[12];   /* vegetation emissivity (fraction) */  double rad_atten;        /* radiation attenuation due to canopy, 			      default = 0.5 (N/A) */  double rarc;             /* architectural resistance (s/m) */  double rmin;             /* minimum stomatal resistance (s/m) */  double roughness[12];    /* vegetation roughness length (m) */  double trunk_ratio;      /* ratio of trunk height to tree height, 			      default = 0.2 (fraction) */  double wind_atten;       /* wind attenuation through canopy, 			      default = 0.5 (N/A) */  double wind_h;           /* height at which wind is measured (m) */  float  RGL;              /* Value of solar radiation below which there 			      will be no transpiration (ranges from 			      ~30 W/m^2 for trees to ~100 W/m^2 for crops) */  int    veg_class;        /* vegetation class reference number */} veg_lib_struct;/***************************************************************************   This structure stores the atmospheric forcing data for each model time    step for a single grid cell.  Each array stores the values for the    SNOW_STEPs during the current model step and the value for the entire model   step.  The latter is referred to by array[NR].  Looping over the SNOW_STEPs   is done by for (i = 0; i < NF; i++) ***************************************************************************/typedef struct {  char   snowflag[25];  /* TRUE if there is snowfall in any of the snow 			   bands during the timestep, FALSE otherwise*/  double air_temp[25];  /* air temperature (C) */  double density[25];   /* atmospheric density (kg/m^3) */  double longwave[25];  /* incoming longwave radiation (W/m^2) (net incoming 			   longwave for water balance model) */  double out_prec;      /* Total precipitation for time step - accounts			   for corrected precipitation totals */  double prec[25];      /* average precipitation in grid cell (mm) */  double pressure[25];  /* atmospheric pressure (kPa) */  double shortwave[25]; /* incoming shortwave radiation (W/m^2) */  double vp[25];        /* atmospheric vapor pressure (kPa) */  double vpd[25];       /* atmospheric vapor pressure deficit (kPa) */  double wind[25];      /* wind speed (m/s) */} atmos_data_struct;/*************************************************************************  This structure stores information about the time and date of the current  time step.  *************************************************************************/typedef struct {  int day;                      /* current day */  int day_in_year;              /* julian day in year */  int hour;                     /* beginning of current hour */  int month;                    /* current month */  int year;                     /* current year */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -