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

📄 display_current_settings.c

📁 超强的大尺度水文模拟工具
💻 C
字号:
#include <stdio.h>#include <stdlib.h>#include <vicNl.h>static char vcid[] = "$Id: display_current_settings.c,v 1.1.2.3 2004/05/13 01:00:57 tbohn Exp $";void display_current_settings(int                 mode,                              filenames_struct    *names,                              global_param_struct *global) /**********************************************************************  display_current_settings	Ted Bohn			2003  This routine displays the current settings of options defined in  user_def.h and the global parameter file.  NOTE: This file must be kept in sync with any additions, removals,  or modifications to names of parameters in user_def.h or get_global_param.c.  07-May-04 Replaced "Release" with "Version".  Moved COMPUTE_TREELINE	    lower down in output display.			TJB  12-May-04 Changed formatting from %s to %d in STATE* print	    statements.						TJB**********************************************************************/{  extern char *version;  extern option_struct options;  extern param_set_struct param_set;  int file_num;  if (mode == DISP_VERSION) {    fprintf(stdout,"***** VIC Version %s *****\n",version);    return;  }  else {    fprintf(stdout,"\n***** VIC Version %s - Current Model Settings *****\n",version);  }  fprintf(stdout,"\n");  fprintf(stdout,"COMPILE-TIME OPTIONS (set in user_def.h)\n");  fprintf(stdout,"----------------------------------------\n");  fprintf(stdout,"\n");  fprintf(stdout,"Output to Screen:\n");#if VERBOSE  fprintf(stdout,"VERBOSE\t\t\tTRUE\n");#else  fprintf(stdout,"VERBOSE\t\t\tFALSE\n");#endif  fprintf(stdout,"\n");  fprintf(stdout,"Input Files:\n");#if NO_REWIND  fprintf(stdout,"NO_REWIND\t\tTRUE\n");#else  fprintf(stdout,"NO_REWIND\t\tFALSE\n");#endif  fprintf(stdout,"\n");  fprintf(stdout,"Output Files:\n");#if LDAS_OUTPUT  fprintf(stdout,"LDAS_OUTPUT\t\tTRUE\n");#else  fprintf(stdout,"LDAS_OUTPUT\t\tFALSE\n");#endif#if LINK_DEBUG  fprintf(stdout,"LINK_DEBUG\t\tTRUE\n");#else  fprintf(stdout,"LINK_DEBUG\t\tFALSE\n");#endif#if OPTIMIZE  fprintf(stdout,"OPTIMIZE\t\tTRUE\n");#else  fprintf(stdout,"OPTIMIZE\t\tFALSE\n");#endif#if OUTPUT_FORCE  fprintf(stdout,"OUTPUT_FORCE\t\tTRUE\n");#else  fprintf(stdout,"OUTPUT_FORCE\t\tFALSE\n");#endif#if SAVE_STATE  fprintf(stdout,"SAVE_STATE\t\tTRUE\n");#else  fprintf(stdout,"SAVE_STATE\t\tFALSE\n");#endif  fprintf(stdout,"\n");  fprintf(stdout,"Simulation Parameters:\n");#if LOW_RES_MOIST  fprintf(stdout,"LOW_RES_MOIST\t\tTRUE\n");#else  fprintf(stdout,"LOW_RES_MOIST\t\tFALSE\n");#endif#if QUICK_FS  fprintf(stdout,"QUICK_FS\t\tTRUE\n");  fprintf(stdout,"QUICK_FS_TEMPS\t%d\n",QUICK_FS_TEMPS);#else  fprintf(stdout,"QUICK_FS\t\tFALSE\n");#endif  fprintf(stdout,"\n");  fprintf(stdout,"Maximum Array Sizes:\n");  fprintf(stdout,"MAX_BANDS\t\t%2d\n",MAX_BANDS);  fprintf(stdout,"MAX_FRONTS\t\t%2d\n",MAX_FRONTS);  fprintf(stdout,"MAX_LAYERS\t\t%2d\n",MAX_LAYERS);  fprintf(stdout,"MAX_NODES\t\t%2d\n",MAX_NODES);  fprintf(stdout,"MAX_VEG\t\t\t%2d\n",MAX_VEG);  fprintf(stdout,"\n");  fprintf(stdout,"Snow Constants:\n");  fprintf(stdout,"NEW_SNOW_ALB\t\t%f\n",NEW_SNOW_ALB);  fprintf(stdout,"SNOW_ALB_ACCUM_A\t%f\n",SNOW_ALB_ACCUM_A);  fprintf(stdout,"SNOW_ALB_ACCUM_B\t%f\n",SNOW_ALB_ACCUM_B);  fprintf(stdout,"SNOW_ALB_THAW_A\t\t%f\n",SNOW_ALB_THAW_A);  fprintf(stdout,"SNOW_ALB_THAW_B\t\t%f\n",SNOW_ALB_THAW_B);  fprintf(stdout,"TraceSnow\t\t%f\n",TraceSnow);  fprintf(stdout,"\n");  fprintf(stdout,"Other Constants:\n");  fprintf(stdout,"LAI_WATER_FACTOR\t%f\n",LAI_WATER_FACTOR);  fprintf(stdout,"LWAVE_COR\t\t%f\n",LWAVE_COR);  fprintf(stdout,"MAXIT_FE\t\t%2d\n",MAXIT_FE);  if (mode == DISP_COMPILE_TIME) {    return;  }  fprintf(stdout,"\n");  fprintf(stdout,"RUN-TIME OPTIONS (set in global parameter file)\n");  fprintf(stdout,"-----------------------------------------------\n");  fprintf(stdout,"Simulation Dimensions:\n");  fprintf(stdout,"NLAYER\t\t\t%d\n",options.Nlayer);  fprintf(stdout,"RESOLUTION\t\t%f\n",global->resolution);  fprintf(stdout,"TIME_STEP\t\t%d\n",global->dt);  fprintf(stdout,"SNOW_STEP\t\t%d\n",options.SNOW_STEP);  fprintf(stdout,"STARTYEAR\t\t%d\n",global->startyear);  fprintf(stdout,"STARTMONTH\t\t%d\n",global->startmonth);  fprintf(stdout,"STARTDAY\t\t%d\n",global->startday);  fprintf(stdout,"STARTHOUR\t\t%d\n",global->starthour);  if ( global->nrecs > 0 )    fprintf(stdout,"NRECS\t\t%d\n",global->nrecs);  else {    fprintf(stdout,"ENDYEAR\t\t\t%d\n",global->endyear);    fprintf(stdout,"ENDMONTH\t\t%d\n",global->endmonth);    fprintf(stdout,"ENDDAY\t\t\t%d\n",global->endday);  }  fprintf(stdout,"\n");  fprintf(stdout,"Input Forcing Data:\n");  for (file_num=0; file_num<2; file_num++) {    if (global->forceyear[file_num] > 0) {      fprintf(stdout,"Forcing File %d:\t\t%s\n",file_num+1,names->forcing[file_num]);      fprintf(stdout,"FORCEYEAR\t\t%d\n",global->forceyear[file_num]);      fprintf(stdout,"FORCEMONTH\t\t%d\n",global->forcemonth[file_num]);      fprintf(stdout,"FORCEDAY\t\t%d\n",global->forceday[file_num]);      fprintf(stdout,"FORCEHOUR\t\t%d\n",global->forcehour[file_num]);      fprintf(stdout,"N_TYPES\t\t\t%d\n",param_set.N_TYPES[file_num]);      fprintf(stdout,"FORCE_DT\t\t%d\n",param_set.FORCE_DT[file_num]);      if (param_set.FORCE_ENDIAN[file_num] == LITTLE)        fprintf(stdout,"FORCE_ENDIAN\t\tLITTLE\n");      else        fprintf(stdout,"FORCE_ENDIAN\t\tBIG\n");      if (param_set.FORCE_FORMAT[file_num] == BINARY)        fprintf(stdout,"FORCE_FORMAT\t\tBINARY\n");      else        fprintf(stdout,"FORCE_FORMAT\t\tASCII\n");    }  }  fprintf(stdout,"GRID_DECIMAL\t\t%d\n",options.GRID_DECIMAL);  fprintf(stdout,"\n");  fprintf(stdout,"Input Soil Data:\n");  fprintf(stdout,"Soil file\t\t%s\n",names->soil);  fprintf(stdout,"Soil dir\t\t%s\n",names->soil_dir);  if (options.ARC_SOIL)    fprintf(stdout,"ARC_SOIL\t\tTRUE\n");  else    fprintf(stdout,"ARC_SOIL\t\tFALSE\n");  if (options.ARNO_PARAMS)    fprintf(stdout,"ARNO_PARAMS\t\tTRUE\n");  else    fprintf(stdout,"ARNO_PARAMS\t\tFALSE\n");  fprintf(stdout,"\n");  fprintf(stdout,"Input Veg Data:\n");  fprintf(stdout,"Veg param file\t\t%s\n",names->veg);  fprintf(stdout,"ROOT_ZONES\t\t%d\n",options.ROOT_ZONES);  fprintf(stdout,"Veg library file\t%s\n",names->veglib);  if (options.GLOBAL_LAI)    fprintf(stdout,"GLOBAL_LAI\t\tTRUE\n");  else    fprintf(stdout,"GLOBAL_LAI\t\tFALSE\n");  fprintf(stdout,"\n");  fprintf(stdout,"Input Elevation Data:\n");  if (options.SNOW_BAND > 1)    fprintf(stdout,"SNOW_BAND\t\t%d\t%s\n",options.SNOW_BAND,names->snow_band);  else if (options.SNOW_BAND == 1)    fprintf(stdout,"SNOW_BAND\t\t%d\t(no input file needed for SNOW_BAND=1)\n",options.SNOW_BAND);  else    fprintf(stdout,"SNOW_BAND\t\t%d\n",options.SNOW_BAND);  fprintf(stdout,"\n");  fprintf(stdout,"Input State File:\n");  if (options.INIT_STATE) {    fprintf(stdout,"INIT_STATE\t\tTRUE\t%s\n",names->init_state);    if (options.BINARY_STATE_FILE)      fprintf(stdout,"BINARY_STATE_FILE\tTRUE\n");    else      fprintf(stdout,"BINARY_STATE_FILE\tFALSE\n");  }  else    fprintf(stdout,"INIT_STATE\t\tFALSE\n");#if SAVE_STATE  fprintf(stdout,"\n");  fprintf(stdout,"Output State File:\n");  fprintf(stdout,"STATENAME\t\t%s\n",global->statename);  fprintf(stdout,"STATEYEAR\t\t%d\n",global->stateyear);  fprintf(stdout,"STATEMONTH\t\t%d\n",global->statemonth);  fprintf(stdout,"STATEDAY\t\t%d\n",global->stateday);  if (options.BINARY_STATE_FILE)    fprintf(stdout,"BINARY_STATE_FILE\tTRUE\n");  else    fprintf(stdout,"BINARY_STATE_FILE\tFALSE\n");#endif  fprintf(stdout,"\n");  fprintf(stdout,"Output Data:\n");  fprintf(stdout,"Result dir:\t\t%s\n",names->result_dir);  if (options.BINARY_OUTPUT)    fprintf(stdout,"BINARY_OUTPUT\t\tTRUE\n");  else    fprintf(stdout,"BINARY_OUTPUT\t\tFALSE\n");  if (options.COMPRESS)    fprintf(stdout,"COMPRESS\t\tTRUE\n");  else    fprintf(stdout,"COMPRESS\t\tFALSE\n");  fprintf(stdout,"SKIPYEAR\t\t%d\n",global->skipyear);  if (options.PRT_SNOW_BAND)    fprintf(stdout,"PRT_SNOW_BAND\t\tTRUE\n");  else    fprintf(stdout,"PRT_SNOW_BAND\t\tFALSE\n");  fprintf(stdout,"\n");  fprintf(stdout,"Simulation Parameters:\n");  if (options.FULL_ENERGY)    fprintf(stdout,"FULL_ENERGY\t\tTRUE\n");  else    fprintf(stdout,"FULL_ENERGY\t\tFALSE\n");  if (options.FROZEN_SOIL)    fprintf(stdout,"FROZEN_SOIL\t\tTRUE\n");  else    fprintf(stdout,"FROZEN_SOIL\t\tFALSE\n");  if (options.QUICK_FLUX)    fprintf(stdout,"QUICK_FLUX\t\tTRUE\n");  else    fprintf(stdout,"QUICK_FLUX\t\tFALSE\n");  if (options.GRND_FLUX)    fprintf(stdout,"GRND_FLUX\t\tTRUE\n");  else    fprintf(stdout,"GRND_FLUX\t\tFALSE\n");  if (options.NOFLUX)    fprintf(stdout,"NOFLUX\t\t\tTRUE\n");  else    fprintf(stdout,"NOFLUX\t\t\tFALSE\n");  if (options.CORRPREC)    fprintf(stdout,"CORRPREC\t\tTRUE\n");  else    fprintf(stdout,"CORRPREC\t\tFALSE\n");  if (options.DIST_PRCP)    fprintf(stdout,"DIST_PRCP\t\tTRUE\n");  else    fprintf(stdout,"DIST_PRCP\t\tFALSE\n");  if (options.MOISTFRACT)    fprintf(stdout,"MOISTFRACT\t\tTRUE\n");  else    fprintf(stdout,"MOISTFRACT\t\tFALSE\n");  if (options.COMPUTE_TREELINE)    fprintf(stdout,"COMPUTE_TREELINE\t\tTRUE\n");  else    fprintf(stdout,"COMPUTE_TREELINE\t\tFALSE\n");  fprintf(stdout,"PREC_EXPT\t\t%f\n",options.PREC_EXPT);  fprintf(stdout,"WIND_H\t\t\t%f\n",global->wind_h);  fprintf(stdout,"MEASURE_H\t\t%f\n",global->measure_h);  fprintf(stdout,"NODES\t\t\t%d\n",options.Nnode);  fprintf(stdout,"MIN_RAIN_TEMP\t\t%f\n",global->MIN_RAIN_TEMP);  fprintf(stdout,"MAX_SNOW_TEMP\t\t%f\n",global->MAX_SNOW_TEMP);  fprintf(stdout,"MIN_WIND_SPEED\t\t%f\n",options.MIN_WIND_SPEED);  fprintf(stdout,"\n");}

⌨️ 快捷键说明

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