Code Monkey home page Code Monkey logo

obsgrid's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

obsgrid's Issues

Compilation problem (related to comments)

I cannot compile this using neither gfortran nor ifort. In both cases, the compiler was complaining that it didn't know how to deal with the C-style comments in the source files coming out of cpp.

What fixed it in my case was to remove the -C from CPPFLAGS definition in configure.oa after running ./configure.

Is this expected behavior, or is there something fishy with my system?

Unstable to install obsgrid on ubuntu 22.04

So I am getting the following error

Error: Rank mismatch between actual argument at (1) and actual argument at (2) (scalar and rank-1)

[code]cd $HOME/WRFCHEM/
git clone https://github.com/wrf-model/OBSGRID.git
cd $HOME/WRFCHEM/OBSGRID

./clean -a
source $Miniconda_Install_DIR/etc/profile.d/conda.sh
conda init bash
conda activate ncl_stable

export HOME=cd;pwd
export DIR=$HOME/WRFCHEM/Libs
export NETCDF=$DIR/NETCDF

./configure FFLAGS=-fallow-argument-mismatch FCFLAGS=-fallow-argument-mismatch #Option 2

sed -i 's/-C -P -traditional/-P -traditional/g' configure.oa
sed -i 's/-lnetcdf -lnetcdff/ -lnetcdff -lnetcdf/g' configure.oa
sed -i 's/-lncarg -lncarg_gks -lncarg_c -lX11 -lm -lcairo/-lncarg -lncarg_gks -lncarg_c -lX11 -lm -lcairo -lfontconfig -lpixman-1 -lfreetype -lhdf5 -lhdf5_hl /g' configure.oa

./compile FFLAGS=-fallow-argument-mismatch FCFLAGS=-fallow-argument-mismatch

conda deactivate
conda deactivate
[/code]

I have found that installing obsgrid using miniconda works best with these changes. The commands work on ubuntu 20.04.4 but not the newest one. I'm certain it has something to do with gcc/gfortran/g++ version 11 which is standard on the new ubuntu
obsgrid.compile.txt
.

OBSGRID Segmentation fault

Dear all,

I'm trying to use OBSGRID to generate input for analysis nudging for WRF-4.0.3. The observation files are from NCAR UCAR: ds351.0 and ds461.0.

I was having trouble to compile OBSBRID with intel compilers, since the compilation was complaining about the comments and structure about lib/cpp. I saw the solution at github, that was to remove the -C option from CPPFLAGS. I did it and then code compiled fine.
Here is my configure.oa:

.SUFFIXES: .F90 .f90 .F .f .c .o
SHELL          	=       /bin/sh
# Listing of options that are usually independent of machine type.
# When necessary, these are over-ridden by each architecture.
ARFLAGS		=	
PERL		=	perl
RANLIB		=	echo
NETCDF_LIBS	=	-L${NETCDF}/lib -lnetcdff -lnetcdf
NETCDF_INC	=	-I${NETCDF}/include
NCARG_LIBS	=	-L${NCARG_ROOT}/lib -lncarg -lncarg_gks -lncarg_c -lX11 -lm -lcairo -lfreetype

#### Architecture specific settings ####
# Settings for PC Linux i486 i586 i686 x86_64, Intel compiler	
#
FC		=	ifort
FFLAGS		=	-FR -convert big_endian
F77FLAGS	=	-convert big_endian
FNGFLAGS	=	$(FFLAGS)
LDFLAGS		=	
CC		=	icc
CFLAGS		=	-w
CPP		=	/lib/cpp 
CPPFLAGS	=	-I. -P -DDEC -traditional

After compilation I run obsgrid.exe to 40 day, July 20th until September 1st, then the program starts and I get the seg fault.
Does anyone know to fix it?
Thank you

Here is the log:

 ################################
          WRF OBSGRID
          Version 3.7.0
          July 2014
################################

 Changing default netCDF format from            1  to nf_format_64bit
 Record 1 NAMELIST, no checks
 &RECORD1
 START_YEAR      =        2015,
 START_MONTH     =           7,
 START_DAY       =          20,
 START_HOUR      =           0,
 END_YEAR        =        2015,
 END_MONTH       =           9,
 END_DAY =           1,
 END_HOUR        =           6,
 INTERVAL        =       10800
 /
 Record 2 NAMELIST, no checks
 &RECORD2
 FG_FILENAME = ./met_em.d01
 OBS_FILENAMES = /proj/ie/proj/KNRF/pedruzzi_apps/WRF/WRF_data/ncep_analysis/OBSGRID/008_ago/OBS
 /
 Record 3 NAMELIST, no checks
 &RECORD3
 MAX_NUMBER_OF_OBS       =      100000,
 FATAL_IF_EXCEED_MAX_OBS = T
 /
 Record 4 NAMELIST, no checks
 &RECORD4
 QC_TEST_ERROR_MAX       = T,
 QC_TEST_BUDDY   = T,
 QC_TEST_VERT_CONSISTENCY        = T,
 QC_TEST_CONVECTIVE_ADJ  = F,
 QC_PSFC = F,
 MAX_ERROR_T     =   8.000000    ,
 MAX_ERROR_UV    =   4.000000    ,
 MAX_ERROR_Z     =   4.000000    ,
 MAX_ERROR_RH    =   20.00000    ,
 MAX_ERROR_DEWPOINT      =   99999.90    ,
 MAX_ERROR_P     =   600.0000    ,
 MAX_BUDDY_T     =   6.000000    ,
 MAX_BUDDY_UV    =   4.000000    ,
 MAX_BUDDY_Z     =   4.000000    ,
 MAX_BUDDY_RH    =   20.00000    ,
 MAX_BUDDY_DEWPOINT      =   99999.90    ,
 MAX_BUDDY_P     =   800.0000    ,
 BUDDY_WEIGHT    =  0.7500000    ,
 MAX_P_EXTEND_T  =   1300.000    ,
 MAX_P_EXTEND_W  =   1300.000    ,
 USE_P_TOLERANCE_ONE_LEV = F,
 MAX_P_TOLERANCE_ONE_LEV_QC      =           1
 /
 Record 5 NAMELIST, no checks
 &RECORD5
 PRINT_FOUND_OBS = F,
 PRINT_HEADER    = F,
 PRINT_ANALYSIS  = F,
 PRINT_QC_VERT   = F,
 PRINT_QC_DRY    = F,
 PRINT_OBS_FILES = T,
 PRINT_ERROR_MAX = F,
 PRINT_BUDDY     = F,
 PRINT_OA        = F
 /
 Record 7 NAMELIST, no checks
 &RECORD7
 USE_FIRST_GUESS = T,
 F4D     = T,
 INTF4D  =       10800,
 LAGTEM  = F
 /
 Record 8 NAMELIST, no checks
 &RECORD8
 SMOOTH_TYPE     =           1,
 SMOOTH_SFC_WIND =           0,
 SMOOTH_SFC_TEMP =           0,
 SMOOTH_SFC_RH   =           0,
 SMOOTH_SFC_SLP  =           0,
 SMOOTH_UPPER_WIND       =           0,
 SMOOTH_UPPER_TEMP       =           0,
 SMOOTH_UPPER_RH =           0
 /
 Record 9 NAMELIST, no checks
 &RECORD9
 OA_TYPE = Cressman                                                                                   
           ,
 MQD_MINIMUM_NUM_OBS     =          30,
 MQD_MAXIMUM_NUM_OBS     =        1000,
 RADIUS_INFLUENCE        =           0, 9*-1,
 OA_MIN_SWITCH   = T,
 OA_MAX_SWITCH   = T,
 OA_3D_OPTION    =           0,
 OA_3D_TYPE      =
 ,
 OA_PSFC = F,
 SCALE_CRESSMAN_RH_DECREASES     = F,
 RADIUS_INFLUENCE_SFC_MULT       =   1.000000    ,
 MAX_P_TOLERANCE_ONE_LEV_OA      =           1
 /
 No convective adjustment check is being performed.
 Quality control checks will NOT be performed on surface pressure.
 Single-level above-surface obs will generally only be QCed if they fall on an analysis pressure level. However, will attempt to adjust obs marked as FM-88 SATOB or FM-97 AIREP to the nearest pressure level.
 No message is printed when each observation is found.
 No header information is printed for initial or final analysis.
 No 2D mean/max/min is printed for initial or final analysis.
 No QC information is printed from the vertical consistency check.
 No print out will be generated when observation fails error max check.
 No print out will be generated when observation fails buddy check.
 No print out will be generated for observations used in OA.
 There will be no smoothing for the surface winds on the final analysis.
 There will be no smoothing for the surface temperature on the final analysis.
 There will be no smoothing for the surface relative humidity on the final analysis.
 There will be no smoothing for the sea level pressure on the final analysis.
 There will be no smoothing for the upper level winds on the final analysis.
 There will be no smoothing for the upper level temperature on the final analysis.
 There will be no smoothing for the upper level relative humidity on the final analysis.
 Will NOT objectively analyze surface pressure [psfc will be affected by SLP analysis].
 Single-level above-surface obs will generally only be included in the objective analysis if they fall on an analysis pressure level. However, will attempt to adjust obs marked as FM-88 SATOB or FM-97 AIREP to the nearest pressure level.
 3d analysis dates to be processed by this program (excluding SFC FDDA times):
      Time period #00001 is for date 2015-07-20_00:00:00
      Time period #00002 is for date 2015-07-20_03:00:00
      Time period #00003 is for date 2015-07-20_06:00:00
      Time period #00004 is for date 2015-07-20_09:00:00
      Time period #00005 is for date 2015-07-20_12:00:00
      Time period #00006 is for date 2015-07-20_15:00:00
      Time period #00007 is for date 2015-07-20_18:00:00
      Time period #00008 is for date 2015-07-20_21:00:00
      Time period #00009 is for date 2015-07-21_00:00:00
      Time period #00010 is for date 2015-07-21_03:00:00
      Time period #00011 is for date 2015-07-21_06:00:00
      Time period #00012 is for date 2015-07-21_09:00:00
      Time period #00013 is for date 2015-07-21_12:00:00
      Time period #00014 is for date 2015-07-21_15:00:00
      Time period #00015 is for date 2015-07-21_18:00:00
      Time period #00016 is for date 2015-07-21_21:00:00
      Time period #00017 is for date 2015-07-22_00:00:00
      Time period #00018 is for date 2015-07-22_03:00:00
      Time period #00019 is for date 2015-07-22_06:00:00
      Time period #00020 is for date 2015-07-22_09:00:00
      Time period #00021 is for date 2015-07-22_12:00:00
      Time period #00022 is for date 2015-07-22_15:00:00
      Time period #00023 is for date 2015-07-22_18:00:00
      Time period #00024 is for date 2015-07-22_21:00:00
      Time period #00025 is for date 2015-07-23_00:00:00
      Time period #00026 is for date 2015-07-23_03:00:00
      Time period #00027 is for date 2015-07-23_06:00:00
      Time period #00028 is for date 2015-07-23_09:00:00
      Time period #00029 is for date 2015-07-23_12:00:00
      Time period #00030 is for date 2015-07-23_15:00:00
      Time period #00031 is for date 2015-07-23_18:00:00
      Time period #00032 is for date 2015-07-23_21:00:00
      Time period #00033 is for date 2015-07-24_00:00:00
      Time period #00034 is for date 2015-07-24_03:00:00
      Time period #00035 is for date 2015-07-24_06:00:00
      Time period #00036 is for date 2015-07-24_09:00:00
      Time period #00037 is for date 2015-07-24_12:00:00
      Time period #00038 is for date 2015-07-24_15:00:00
      Time period #00039 is for date 2015-07-24_18:00:00
      Time period #00040 is for date 2015-07-24_21:00:00
      Time period #00041 is for date 2015-07-25_00:00:00
      Time period #00042 is for date 2015-07-25_03:00:00
      Time period #00043 is for date 2015-07-25_06:00:00
      Time period #00044 is for date 2015-07-25_09:00:00
      Time period #00045 is for date 2015-07-25_12:00:00
      Time period #00046 is for date 2015-07-25_15:00:00
      Time period #00047 is for date 2015-07-25_18:00:00
      Time period #00048 is for date 2015-07-25_21:00:00
      Time period #00049 is for date 2015-07-26_00:00:00
      Time period #00050 is for date 2015-07-26_03:00:00
      Time period #00051 is for date 2015-07-26_06:00:00
      Time period #00052 is for date 2015-07-26_09:00:00
      Time period #00053 is for date 2015-07-26_12:00:00
      Time period #00054 is for date 2015-07-26_15:00:00
      Time period #00055 is for date 2015-07-26_18:00:00
      Time period #00056 is for date 2015-07-26_21:00:00
      Time period #00057 is for date 2015-07-27_00:00:00
      Time period #00058 is for date 2015-07-27_03:00:00
      Time period #00059 is for date 2015-07-27_06:00:00
      Time period #00060 is for date 2015-07-27_09:00:00
      Time period #00061 is for date 2015-07-27_12:00:00
      Time period #00062 is for date 2015-07-27_15:00:00
      Time period #00063 is for date 2015-07-27_18:00:00
      Time period #00064 is for date 2015-07-27_21:00:00
      Time period #00065 is for date 2015-07-28_00:00:00
      Time period #00066 is for date 2015-07-28_03:00:00
      Time period #00067 is for date 2015-07-28_06:00:00
      Time period #00068 is for date 2015-07-28_09:00:00
      Time period #00069 is for date 2015-07-28_12:00:00
      Time period #00070 is for date 2015-07-28_15:00:00
      Time period #00071 is for date 2015-07-28_18:00:00
      Time period #00072 is for date 2015-07-28_21:00:00
      Time period #00073 is for date 2015-07-29_00:00:00
      Time period #00074 is for date 2015-07-29_03:00:00
      Time period #00075 is for date 2015-07-29_06:00:00
      Time period #00076 is for date 2015-07-29_09:00:00
      Time period #00077 is for date 2015-07-29_12:00:00
      Time period #00078 is for date 2015-07-29_15:00:00
      Time period #00079 is for date 2015-07-29_18:00:00
      Time period #00080 is for date 2015-07-29_21:00:00
      Time period #00081 is for date 2015-07-30_00:00:00
      Time period #00082 is for date 2015-07-30_03:00:00
      Time period #00083 is for date 2015-07-30_06:00:00
      Time period #00084 is for date 2015-07-30_09:00:00
      Time period #00085 is for date 2015-07-30_12:00:00
      Time period #00086 is for date 2015-07-30_15:00:00
      Time period #00087 is for date 2015-07-30_18:00:00
      Time period #00088 is for date 2015-07-30_21:00:00
      Time period #00089 is for date 2015-07-31_00:00:00
      Time period #00090 is for date 2015-07-31_03:00:00
      Time period #00091 is for date 2015-07-31_06:00:00
      Time period #00092 is for date 2015-07-31_09:00:00
      Time period #00093 is for date 2015-07-31_12:00:00
      Time period #00094 is for date 2015-07-31_15:00:00
      Time period #00095 is for date 2015-07-31_18:00:00
      Time period #00096 is for date 2015-07-31_21:00:00
      Time period #00097 is for date 2015-08-01_00:00:00
      Time period #00098 is for date 2015-08-01_03:00:00
      Time period #00099 is for date 2015-08-01_06:00:00
      Time period #00100 is for date 2015-08-01_09:00:00
      Time period #00101 is for date 2015-08-01_12:00:00
      Time period #00102 is for date 2015-08-01_15:00:00
      Time period #00103 is for date 2015-08-01_18:00:00
      Time period #00104 is for date 2015-08-01_21:00:00
      Time period #00105 is for date 2015-08-02_00:00:00
      Time period #00106 is for date 2015-08-02_03:00:00
      Time period #00107 is for date 2015-08-02_06:00:00
      Time period #00108 is for date 2015-08-02_09:00:00
      Time period #00109 is for date 2015-08-02_12:00:00
      Time period #00110 is for date 2015-08-02_15:00:00
      Time period #00111 is for date 2015-08-02_18:00:00
      Time period #00112 is for date 2015-08-02_21:00:00
      Time period #00113 is for date 2015-08-03_00:00:00
      Time period #00114 is for date 2015-08-03_03:00:00
      Time period #00115 is for date 2015-08-03_06:00:00
      Time period #00116 is for date 2015-08-03_09:00:00
      Time period #00117 is for date 2015-08-03_12:00:00
      Time period #00118 is for date 2015-08-03_15:00:00
      Time period #00119 is for date 2015-08-03_18:00:00
      Time period #00120 is for date 2015-08-03_21:00:00
      Time period #00121 is for date 2015-08-04_00:00:00
      Time period #00122 is for date 2015-08-04_03:00:00
      Time period #00123 is for date 2015-08-04_06:00:00
      Time period #00124 is for date 2015-08-04_09:00:00
      Time period #00125 is for date 2015-08-04_12:00:00
      Time period #00126 is for date 2015-08-04_15:00:00
      Time period #00127 is for date 2015-08-04_18:00:00
      Time period #00128 is for date 2015-08-04_21:00:00
      Time period #00129 is for date 2015-08-05_00:00:00
      Time period #00130 is for date 2015-08-05_03:00:00
      Time period #00131 is for date 2015-08-05_06:00:00
      Time period #00132 is for date 2015-08-05_09:00:00
      Time period #00133 is for date 2015-08-05_12:00:00
      Time period #00134 is for date 2015-08-05_15:00:00
      Time period #00135 is for date 2015-08-05_18:00:00
      Time period #00136 is for date 2015-08-05_21:00:00
      Time period #00137 is for date 2015-08-06_00:00:00
      Time period #00138 is for date 2015-08-06_03:00:00
      Time period #00139 is for date 2015-08-06_06:00:00
      Time period #00140 is for date 2015-08-06_09:00:00
      Time period #00141 is for date 2015-08-06_12:00:00
      Time period #00142 is for date 2015-08-06_15:00:00
      Time period #00143 is for date 2015-08-06_18:00:00
      Time period #00144 is for date 2015-08-06_21:00:00
      Time period #00145 is for date 2015-08-07_00:00:00
      Time period #00146 is for date 2015-08-07_03:00:00
      Time period #00147 is for date 2015-08-07_06:00:00
      Time period #00148 is for date 2015-08-07_09:00:00
      Time period #00149 is for date 2015-08-07_12:00:00
      Time period #00150 is for date 2015-08-07_15:00:00
      Time period #00151 is for date 2015-08-07_18:00:00
      Time period #00152 is for date 2015-08-07_21:00:00
      Time period #00153 is for date 2015-08-08_00:00:00
      Time period #00154 is for date 2015-08-08_03:00:00
      Time period #00155 is for date 2015-08-08_06:00:00
      Time period #00156 is for date 2015-08-08_09:00:00
      Time period #00157 is for date 2015-08-08_12:00:00
      Time period #00158 is for date 2015-08-08_15:00:00
      Time period #00159 is for date 2015-08-08_18:00:00
      Time period #00160 is for date 2015-08-08_21:00:00
      Time period #00161 is for date 2015-08-09_00:00:00
      Time period #00162 is for date 2015-08-09_03:00:00
      Time period #00163 is for date 2015-08-09_06:00:00
      Time period #00164 is for date 2015-08-09_09:00:00
      Time period #00165 is for date 2015-08-09_12:00:00
      Time period #00166 is for date 2015-08-09_15:00:00
      Time period #00167 is for date 2015-08-09_18:00:00
      Time period #00168 is for date 2015-08-09_21:00:00
      Time period #00169 is for date 2015-08-10_00:00:00
      Time period #00170 is for date 2015-08-10_03:00:00
      Time period #00171 is for date 2015-08-10_06:00:00
      Time period #00172 is for date 2015-08-10_09:00:00
      Time period #00173 is for date 2015-08-10_12:00:00
      Time period #00174 is for date 2015-08-10_15:00:00
      Time period #00175 is for date 2015-08-10_18:00:00
      Time period #00176 is for date 2015-08-10_21:00:00
      Time period #00177 is for date 2015-08-11_00:00:00
      Time period #00178 is for date 2015-08-11_03:00:00
      Time period #00179 is for date 2015-08-11_06:00:00
      Time period #00180 is for date 2015-08-11_09:00:00
      Time period #00181 is for date 2015-08-11_12:00:00
      Time period #00182 is for date 2015-08-11_15:00:00
      Time period #00183 is for date 2015-08-11_18:00:00
      Time period #00184 is for date 2015-08-11_21:00:00
      Time period #00185 is for date 2015-08-12_00:00:00
      Time period #00186 is for date 2015-08-12_03:00:00
      Time period #00187 is for date 2015-08-12_06:00:00
      Time period #00188 is for date 2015-08-12_09:00:00
      Time period #00189 is for date 2015-08-12_12:00:00
      Time period #00190 is for date 2015-08-12_15:00:00
      Time period #00191 is for date 2015-08-12_18:00:00
      Time period #00192 is for date 2015-08-12_21:00:00
      Time period #00193 is for date 2015-08-13_00:00:00
      Time period #00194 is for date 2015-08-13_03:00:00
      Time period #00195 is for date 2015-08-13_06:00:00
      Time period #00196 is for date 2015-08-13_09:00:00
      Time period #00197 is for date 2015-08-13_12:00:00
      Time period #00198 is for date 2015-08-13_15:00:00
      Time period #00199 is for date 2015-08-13_18:00:00
      Time period #00200 is for date 2015-08-13_21:00:00
      Time period #00201 is for date 2015-08-14_00:00:00
      Time period #00202 is for date 2015-08-14_03:00:00
      Time period #00203 is for date 2015-08-14_06:00:00
      Time period #00204 is for date 2015-08-14_09:00:00
      Time period #00205 is for date 2015-08-14_12:00:00
      Time period #00206 is for date 2015-08-14_15:00:00
      Time period #00207 is for date 2015-08-14_18:00:00
      Time period #00208 is for date 2015-08-14_21:00:00
      Time period #00209 is for date 2015-08-15_00:00:00
      Time period #00210 is for date 2015-08-15_03:00:00
      Time period #00211 is for date 2015-08-15_06:00:00
      Time period #00212 is for date 2015-08-15_09:00:00
      Time period #00213 is for date 2015-08-15_12:00:00
      Time period #00214 is for date 2015-08-15_15:00:00
      Time period #00215 is for date 2015-08-15_18:00:00
      Time period #00216 is for date 2015-08-15_21:00:00
      Time period #00217 is for date 2015-08-16_00:00:00
      Time period #00218 is for date 2015-08-16_03:00:00
      Time period #00219 is for date 2015-08-16_06:00:00
      Time period #00220 is for date 2015-08-16_09:00:00
      Time period #00221 is for date 2015-08-16_12:00:00
      Time period #00222 is for date 2015-08-16_15:00:00
      Time period #00223 is for date 2015-08-16_18:00:00
      Time period #00224 is for date 2015-08-16_21:00:00
      Time period #00225 is for date 2015-08-17_00:00:00
      Time period #00226 is for date 2015-08-17_03:00:00
      Time period #00227 is for date 2015-08-17_06:00:00
      Time period #00228 is for date 2015-08-17_09:00:00
      Time period #00229 is for date 2015-08-17_12:00:00
      Time period #00230 is for date 2015-08-17_15:00:00
      Time period #00231 is for date 2015-08-17_18:00:00
      Time period #00232 is for date 2015-08-17_21:00:00
      Time period #00233 is for date 2015-08-18_00:00:00
      Time period #00234 is for date 2015-08-18_03:00:00
      Time period #00235 is for date 2015-08-18_06:00:00
      Time period #00236 is for date 2015-08-18_09:00:00
      Time period #00237 is for date 2015-08-18_12:00:00
      Time period #00238 is for date 2015-08-18_15:00:00
      Time period #00239 is for date 2015-08-18_18:00:00
      Time period #00240 is for date 2015-08-18_21:00:00
      Time period #00241 is for date 2015-08-19_00:00:00
      Time period #00242 is for date 2015-08-19_03:00:00
      Time period #00243 is for date 2015-08-19_06:00:00
      Time period #00244 is for date 2015-08-19_09:00:00
      Time period #00245 is for date 2015-08-19_12:00:00
      Time period #00246 is for date 2015-08-19_15:00:00
      Time period #00247 is for date 2015-08-19_18:00:00
      Time period #00248 is for date 2015-08-19_21:00:00
      Time period #00249 is for date 2015-08-20_00:00:00
      Time period #00250 is for date 2015-08-20_03:00:00
      Time period #00251 is for date 2015-08-20_06:00:00
      Time period #00252 is for date 2015-08-20_09:00:00
      Time period #00253 is for date 2015-08-20_12:00:00
      Time period #00254 is for date 2015-08-20_15:00:00
      Time period #00255 is for date 2015-08-20_18:00:00
      Time period #00256 is for date 2015-08-20_21:00:00
      Time period #00257 is for date 2015-08-21_00:00:00
      Time period #00258 is for date 2015-08-21_03:00:00
      Time period #00259 is for date 2015-08-21_06:00:00
      Time period #00260 is for date 2015-08-21_09:00:00
      Time period #00261 is for date 2015-08-21_12:00:00
      Time period #00262 is for date 2015-08-21_15:00:00
      Time period #00263 is for date 2015-08-21_18:00:00
      Time period #00264 is for date 2015-08-21_21:00:00
      Time period #00265 is for date 2015-08-22_00:00:00
      Time period #00266 is for date 2015-08-22_03:00:00
      Time period #00267 is for date 2015-08-22_06:00:00
      Time period #00268 is for date 2015-08-22_09:00:00
      Time period #00269 is for date 2015-08-22_12:00:00
      Time period #00270 is for date 2015-08-22_15:00:00
      Time period #00271 is for date 2015-08-22_18:00:00
      Time period #00272 is for date 2015-08-22_21:00:00
      Time period #00273 is for date 2015-08-23_00:00:00
      Time period #00274 is for date 2015-08-23_03:00:00
      Time period #00275 is for date 2015-08-23_06:00:00
      Time period #00276 is for date 2015-08-23_09:00:00
      Time period #00277 is for date 2015-08-23_12:00:00
      Time period #00278 is for date 2015-08-23_15:00:00
      Time period #00279 is for date 2015-08-23_18:00:00
      Time period #00280 is for date 2015-08-23_21:00:00
      Time period #00281 is for date 2015-08-24_00:00:00
      Time period #00282 is for date 2015-08-24_03:00:00
      Time period #00283 is for date 2015-08-24_06:00:00
      Time period #00284 is for date 2015-08-24_09:00:00
      Time period #00285 is for date 2015-08-24_12:00:00
      Time period #00286 is for date 2015-08-24_15:00:00
      Time period #00287 is for date 2015-08-24_18:00:00
      Time period #00288 is for date 2015-08-24_21:00:00
      Time period #00289 is for date 2015-08-25_00:00:00
      Time period #00290 is for date 2015-08-25_03:00:00
      Time period #00291 is for date 2015-08-25_06:00:00
      Time period #00292 is for date 2015-08-25_09:00:00
      Time period #00293 is for date 2015-08-25_12:00:00
      Time period #00294 is for date 2015-08-25_15:00:00
      Time period #00295 is for date 2015-08-25_18:00:00
      Time period #00296 is for date 2015-08-25_21:00:00
      Time period #00297 is for date 2015-08-26_00:00:00
      Time period #00298 is for date 2015-08-26_03:00:00
      Time period #00299 is for date 2015-08-26_06:00:00
      Time period #00300 is for date 2015-08-26_09:00:00
      Time period #00301 is for date 2015-08-26_12:00:00
      Time period #00302 is for date 2015-08-26_15:00:00
      Time period #00303 is for date 2015-08-26_18:00:00
      Time period #00304 is for date 2015-08-26_21:00:00
      Time period #00305 is for date 2015-08-27_00:00:00
      Time period #00306 is for date 2015-08-27_03:00:00
      Time period #00307 is for date 2015-08-27_06:00:00
      Time period #00308 is for date 2015-08-27_09:00:00
      Time period #00309 is for date 2015-08-27_12:00:00
      Time period #00310 is for date 2015-08-27_15:00:00
      Time period #00311 is for date 2015-08-27_18:00:00
      Time period #00312 is for date 2015-08-27_21:00:00
      Time period #00313 is for date 2015-08-28_00:00:00
      Time period #00314 is for date 2015-08-28_03:00:00
      Time period #00315 is for date 2015-08-28_06:00:00
      Time period #00316 is for date 2015-08-28_09:00:00
      Time period #00317 is for date 2015-08-28_12:00:00
      Time period #00318 is for date 2015-08-28_15:00:00
      Time period #00319 is for date 2015-08-28_18:00:00
      Time period #00320 is for date 2015-08-28_21:00:00
      Time period #00321 is for date 2015-08-29_00:00:00
      Time period #00322 is for date 2015-08-29_03:00:00
      Time period #00323 is for date 2015-08-29_06:00:00
      Time period #00324 is for date 2015-08-29_09:00:00
      Time period #00325 is for date 2015-08-29_12:00:00
      Time period #00326 is for date 2015-08-29_15:00:00
      Time period #00327 is for date 2015-08-29_18:00:00
      Time period #00328 is for date 2015-08-29_21:00:00
      Time period #00329 is for date 2015-08-30_00:00:00
      Time period #00330 is for date 2015-08-30_03:00:00
      Time period #00331 is for date 2015-08-30_06:00:00
      Time period #00332 is for date 2015-08-30_09:00:00
      Time period #00333 is for date 2015-08-30_12:00:00
      Time period #00334 is for date 2015-08-30_15:00:00
      Time period #00335 is for date 2015-08-30_18:00:00
      Time period #00336 is for date 2015-08-30_21:00:00
      Time period #00337 is for date 2015-08-31_00:00:00
      Time period #00338 is for date 2015-08-31_03:00:00
      Time period #00339 is for date 2015-08-31_06:00:00
      Time period #00340 is for date 2015-08-31_09:00:00
      Time period #00341 is for date 2015-08-31_12:00:00
      Time period #00342 is for date 2015-08-31_15:00:00
      Time period #00343 is for date 2015-08-31_18:00:00
      Time period #00344 is for date 2015-08-31_21:00:00
      Time period #00345 is for date 2015-09-01_00:00:00
      Time period #00346 is for date 2015-09-01_03:00:00
      Time period #00347 is for date 2015-09-01_06:00:00



----------------------------------------------------------------------------
Time Loop Processing, date = 2015-07-20_00:00:00


  #########################################################################
  Setting radius of influence for Cressman scheme
    The radius of influence of each scan is set to:
      21, 15, 11,  8,
  #########################################################################

Setting up LAMBERT CONFORMAL map...
Computed cone factor:    0.346
Computed pole (x,y) =    -68.000   597.232

Setting up LAMBERT CONFORMAL map...
Computed cone factor:    0.346
Computed pole (x,y) =    -68.500   596.732

 Using
 /proj/ie/proj/KNRF/pedruzzi_apps/WRF/WRF_data/ncep_analysis/OBSGRID/008_ago/OBS
 :2015-07-20_00 as obs input file


Number of observations successfully ingested:           1452.
Number of empty observations discarded:                  105.
Number of observations discarded outside of domain:   137233.

Of the  1452 observations reported,    31 of them are duplicates, leaving  1421 merged locations
forrtl: severe (174): SIGSEGV, segmentation fault occurred
Image              PC                Routine            Line        Source
obsgrid.exe        0000000000580931  Unknown               Unknown  Unknown
obsgrid.exe        000000000057EA6B  Unknown               Unknown  Unknown
obsgrid.exe        00000000005210D4  Unknown               Unknown  Unknown
obsgrid.exe        0000000000520EE6  Unknown               Unknown  Unknown
obsgrid.exe        00000000004C23C9  Unknown               Unknown  Unknown
obsgrid.exe        00000000004C59B6  Unknown               Unknown  Unknown
libpthread-2.17.s  00002ACED3852370  Unknown               Unknown  Unknown
obsgrid.exe        0000000000456860  Unknown               Unknown  Unknown
obsgrid.exe        000000000045B3F5  Unknown               Unknown  Unknown
obsgrid.exe        0000000000408136  Unknown               Unknown  Unknown
obsgrid.exe        0000000000414B30  Unknown               Unknown  Unknown
obsgrid.exe        0000000000402EDE  Unknown               Unknown  Unknown
libc-2.17.so       00002ACED3A80B35  __libc_start_main     Unknown  Unknown
obsgrid.exe        0000000000402DE9  Unknown               Unknown  Unknown

OBSGRID segfault in "obs_sort_module.F90"

This is an issue opened in the obsgrid forum: https://forum.mmm.ucar.edu/threads/obsgrid-exe-fails-after-a-few-seconds.13474/

Summary of the problem: In certain scenarios, obsgrid segfaults in "obs_sort_module.F90" around line 3158. This segfault has to do with the pointer variable "next." Admittedly, my knowledge of pointers in fortran is very limited, so I will refrain from making a judgement on exactly what is happening with this pointer.

To reproduce this error with the current version of the source code, you can use a single sounding in little R format. I am attaching my namelist.oa(linked as namelist.oa.txt) and little R file, obs:2021-01-01_00(linked as obs.txt) containing a sounding. The user will have to create the metgrid file, as it won't let me upload that file. My domain is centered over Oklahoma City for 0000 UTC Jan 01, 2021. After trying obsgrid with the single sounding, try cutting down the sounding to a single data record (making sure to change the appropriate fields in header record and tail integers to indicate just one data record). Obsgrid will still fail with a segfault. Finally, using the little R file with the single data record, change the "sounding" logical from "T" to "F". Obsgrid will now run to completion without the segfault error. These different scenarios are mentioned for use in debugging and trying to isolate the source of the problem, and I am not considering these to be an actual workaround.

Here are my namelist and sounding little R files for input to obsgrid.exe. Note, I've added the '.txt' extension so that they can be included in this issue description:

namelist.oa.txt
obs.txt

OBS_DOMAINdxx with more than 99 observations

I'm trying to run obsgrid for a period of six months, with hourly data from a surface station.
I've got all formatted in little_r, and obsgrid runs well, but it only get the first 99 values, after that overwrite a file named "'OBS_DOMAIN1**'"
Does anyone know how to use a longer period to include more data (100 or more) for observation nudging?

OBSGRID infinite loop / crash

OBSGRID hangs processing large numbers of observations (in this case 1.7GB, but it fails reliably with much less)

Output looks like
Starting to READ a new report.
Error trying to read last 3 integers in observation MADIS. Discarding entire and continuing.
Error in measurement read. Discarding entire observation and continuing. 1.00000 0-888888.00000 0 -888888.00000 0-888888.00000 0
Troubles with measurement lines 1.00000 0-888888.00000 0 -888888.00000 0-888888.00000 0
Starting to READ a new report.
Error in measurement read. Discarding entire observation and continuing. MADIS
free(): double free detected in tcache 2

Which I think I traced back to coming from the dealloc_meas in obs_sort_module:
src/obs_sort_module.F90
IF ( error_ret .EQ. read_err ) THEN
IF ( ASSOCIATED ( obs(obs_num)%surface ) ) THEN
! dealloc entire linked list if it exists
CALL dealloc_meas ( obs(obs_num)%surface)

I did try commenting out the dealloc, and it instead segfaults after a while in malloc.

I uploaded an example dataset to the WRF user forum nextcloud, and also attached the observations to this post. Sorry about the lzma inside a .gz, it's the only way to make it small enough and comply with github's restrictions.

data.tar.gz

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.