Merge remote-tracking branch 'origin/feature/ECC-1903-tablesVersion-switch' into feature/ECC-1903-tablesVersion-switch-with-chem-param-split

This commit is contained in:
Matthew Griffith 2024-12-18 17:10:38 +00:00
commit dfc535b334
179 changed files with 11195 additions and 11358 deletions

View File

@ -78,3 +78,7 @@
'sol' = {typeOfFirstFixedSurface=187; typeOfSecondFixedSurface=255;} 'sol' = {typeOfFirstFixedSurface=187; typeOfSecondFixedSurface=255;}
'sol' = {typeOfFirstFixedSurface=187; typeOfSecondFixedSurface=187;} 'sol' = {typeOfFirstFixedSurface=187; typeOfSecondFixedSurface=187;}
'sfc' = {typeOfFirstFixedSurface=187; typeOfSecondFixedSurface=185;} 'sfc' = {typeOfFirstFixedSurface=187; typeOfSecondFixedSurface=185;}
'sfc' = {typeOfFirstFixedSurface=107; scaleFactorOfFirstFixedSurface=2; scaledValueOfFirstFixedSurface=27315;}
'sfc' = {typeOfFirstFixedSurface=107; scaleFactorOfFirstFixedSurface=2; scaledValueOfFirstFixedSurface=27415;}
'sfc' = {typeOfFirstFixedSurface=107; scaleFactorOfFirstFixedSurface=2; scaledValueOfFirstFixedSurface=27465;}

View File

@ -6023,13 +6023,6 @@
typeOfSecondFixedSurface = 8 ; typeOfSecondFixedSurface = 8 ;
typeOfStatisticalProcessing = 1 ; typeOfStatisticalProcessing = 1 ;
} }
#Geometric height of theta level above ground
'Geometric height of theta level above ground' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
}
#Pressure at cloud base #Pressure at cloud base
'Pressure at cloud base' = { 'Pressure at cloud base' = {
discipline = 0 ; discipline = 0 ;
@ -6189,6 +6182,33 @@
parameterCategory = 19 ; parameterCategory = 19 ;
parameterNumber = 51 ; parameterNumber = 51 ;
} }
#Geometric height of 0 degrees C theta level above ground
'Geometric height of 0 degrees C theta level above ground' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27315 ;
scaleFactorOfFirstFixedSurface = 2 ;
}
#Geometric height of 1 degree C theta level above ground
'Geometric height of 1 degree C theta level above ground' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27415 ;
scaleFactorOfFirstFixedSurface = 2 ;
}
#Geometric height of 1.5 degrees C theta level above ground
'Geometric height of 1.5 degrees C theta level above ground' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27465 ;
scaleFactorOfFirstFixedSurface = 2 ;
}
#Burned area #Burned area
'Burned area' = { 'Burned area' = {
discipline = 2 ; discipline = 2 ;
@ -8709,6 +8729,36 @@
scaleFactorOfFirstFixedSurface = 0 ; scaleFactorOfFirstFixedSurface = 0 ;
typeOfStatisticalProcessing = 0 ; typeOfStatisticalProcessing = 0 ;
} }
#Time-mean geometric height of 0 degrees C theta level above ground
'Time-mean geometric height of 0 degrees C theta level above ground' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27315 ;
scaleFactorOfFirstFixedSurface = 2 ;
typeOfStatisticalProcessing = 0 ;
}
#Time-mean geometric height of 1 degree C theta level above ground
'Time-mean geometric height of 1 degree C theta level above ground' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27415 ;
scaleFactorOfFirstFixedSurface = 2 ;
typeOfStatisticalProcessing = 0 ;
}
#Time-mean geometric height of 1.5 degrees C theta level above ground
'Time-mean geometric height of 1.5 degrees C theta level above ground' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27465 ;
scaleFactorOfFirstFixedSurface = 2 ;
typeOfStatisticalProcessing = 0 ;
}
#Time-integrated land surface heat net flux #Time-integrated land surface heat net flux
'Time-integrated land surface heat net flux' = { 'Time-integrated land surface heat net flux' = {
discipline = 2 ; discipline = 2 ;
@ -10605,6 +10655,36 @@
scaleFactorOfFirstFixedSurface = 0 ; scaleFactorOfFirstFixedSurface = 0 ;
typeOfStatisticalProcessing = 2 ; typeOfStatisticalProcessing = 2 ;
} }
#Time-maximum geometric height of 0 degrees C theta level above ground
'Time-maximum geometric height of 0 degrees C theta level above ground' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27315 ;
scaleFactorOfFirstFixedSurface = 2 ;
typeOfStatisticalProcessing = 2 ;
}
#Time-maximum geometric height of 1 degree C theta level above ground
'Time-maximum geometric height of 1 degree C theta level above ground' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27415 ;
scaleFactorOfFirstFixedSurface = 2 ;
typeOfStatisticalProcessing = 2 ;
}
#Time-maximum geometric height of 1.5 degrees C theta level above ground
'Time-maximum geometric height of 1.5 degrees C theta level above ground' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27465 ;
scaleFactorOfFirstFixedSurface = 2 ;
typeOfStatisticalProcessing = 2 ;
}
#Time-minimum temperature tendency due to short-wave radiation #Time-minimum temperature tendency due to short-wave radiation
'Time-minimum temperature tendency due to short-wave radiation' = { 'Time-minimum temperature tendency due to short-wave radiation' = {
discipline = 0 ; discipline = 0 ;
@ -12465,6 +12545,36 @@
scaleFactorOfFirstFixedSurface = 0 ; scaleFactorOfFirstFixedSurface = 0 ;
typeOfStatisticalProcessing = 3 ; typeOfStatisticalProcessing = 3 ;
} }
#Time-minimum geometric height of 0 degrees C theta level above ground
'Time-minimum geometric height of 0 degrees C theta level above ground' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27315 ;
scaleFactorOfFirstFixedSurface = 2 ;
typeOfStatisticalProcessing = 3 ;
}
#Time-minimum geometric height of 1 degree C theta level above ground
'Time-minimum geometric height of 1 degree C theta level above ground' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27415 ;
scaleFactorOfFirstFixedSurface = 2 ;
typeOfStatisticalProcessing = 3 ;
}
#Time-minimum geometric height of 1.5 degrees C theta level above ground
'Time-minimum geometric height of 1.5 degrees C theta level above ground' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27465 ;
scaleFactorOfFirstFixedSurface = 2 ;
typeOfStatisticalProcessing = 3 ;
}
#Time-standard-deviation temperature tendency due to short-wave radiation #Time-standard-deviation temperature tendency due to short-wave radiation
'Time-standard-deviation temperature tendency due to short-wave radiation' = { 'Time-standard-deviation temperature tendency due to short-wave radiation' = {
discipline = 0 ; discipline = 0 ;
@ -14308,6 +14418,36 @@
scaleFactorOfFirstFixedSurface = 0 ; scaleFactorOfFirstFixedSurface = 0 ;
typeOfStatisticalProcessing = 6 ; typeOfStatisticalProcessing = 6 ;
} }
#Time-standard-deviation geometric height of 0 degrees C theta level above ground
'Time-standard-deviation geometric height of 0 degrees C theta level above ground' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27315 ;
scaleFactorOfFirstFixedSurface = 2 ;
typeOfStatisticalProcessing = 6 ;
}
#Time-standard-deviation geometric height of 1 degree C theta level above ground
'Time-standard-deviation geometric height of 1 degree C theta level above ground' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27415 ;
scaleFactorOfFirstFixedSurface = 2 ;
typeOfStatisticalProcessing = 6 ;
}
#Time-standard-deviation geometric height of 1.5 degrees C theta level above ground
'Time-standard-deviation geometric height of 1.5 degrees C theta level above ground' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27465 ;
scaleFactorOfFirstFixedSurface = 2 ;
typeOfStatisticalProcessing = 6 ;
}
#Cross sectional area of flow in channel #Cross sectional area of flow in channel
'Cross sectional area of flow in channel' = { 'Cross sectional area of flow in channel' = {
discipline = 1 ; discipline = 1 ;

View File

@ -6023,13 +6023,6 @@
typeOfSecondFixedSurface = 8 ; typeOfSecondFixedSurface = 8 ;
typeOfStatisticalProcessing = 1 ; typeOfStatisticalProcessing = 1 ;
} }
#Geometric height of theta level above ground
'231044' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
}
#Pressure at cloud base #Pressure at cloud base
'231045' = { '231045' = {
discipline = 0 ; discipline = 0 ;
@ -6189,6 +6182,33 @@
parameterCategory = 19 ; parameterCategory = 19 ;
parameterNumber = 51 ; parameterNumber = 51 ;
} }
#Geometric height of 0 degrees C theta level above ground
'231069' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27315 ;
scaleFactorOfFirstFixedSurface = 2 ;
}
#Geometric height of 1 degree C theta level above ground
'231070' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27415 ;
scaleFactorOfFirstFixedSurface = 2 ;
}
#Geometric height of 1.5 degrees C theta level above ground
'231071' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27465 ;
scaleFactorOfFirstFixedSurface = 2 ;
}
#Burned area #Burned area
'232000' = { '232000' = {
discipline = 2 ; discipline = 2 ;
@ -8709,6 +8729,36 @@
scaleFactorOfFirstFixedSurface = 0 ; scaleFactorOfFirstFixedSurface = 0 ;
typeOfStatisticalProcessing = 0 ; typeOfStatisticalProcessing = 0 ;
} }
#Time-mean geometric height of 0 degrees C theta level above ground
'235390' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27315 ;
scaleFactorOfFirstFixedSurface = 2 ;
typeOfStatisticalProcessing = 0 ;
}
#Time-mean geometric height of 1 degree C theta level above ground
'235391' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27415 ;
scaleFactorOfFirstFixedSurface = 2 ;
typeOfStatisticalProcessing = 0 ;
}
#Time-mean geometric height of 1.5 degrees C theta level above ground
'235392' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27465 ;
scaleFactorOfFirstFixedSurface = 2 ;
typeOfStatisticalProcessing = 0 ;
}
#Time-integrated land surface heat net flux #Time-integrated land surface heat net flux
'236386' = { '236386' = {
discipline = 2 ; discipline = 2 ;
@ -10605,6 +10655,36 @@
scaleFactorOfFirstFixedSurface = 0 ; scaleFactorOfFirstFixedSurface = 0 ;
typeOfStatisticalProcessing = 2 ; typeOfStatisticalProcessing = 2 ;
} }
#Time-maximum geometric height of 0 degrees C theta level above ground
'237390' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27315 ;
scaleFactorOfFirstFixedSurface = 2 ;
typeOfStatisticalProcessing = 2 ;
}
#Time-maximum geometric height of 1 degree C theta level above ground
'237391' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27415 ;
scaleFactorOfFirstFixedSurface = 2 ;
typeOfStatisticalProcessing = 2 ;
}
#Time-maximum geometric height of 1.5 degrees C theta level above ground
'237392' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27465 ;
scaleFactorOfFirstFixedSurface = 2 ;
typeOfStatisticalProcessing = 2 ;
}
#Time-minimum temperature tendency due to short-wave radiation #Time-minimum temperature tendency due to short-wave radiation
'238001' = { '238001' = {
discipline = 0 ; discipline = 0 ;
@ -12465,6 +12545,36 @@
scaleFactorOfFirstFixedSurface = 0 ; scaleFactorOfFirstFixedSurface = 0 ;
typeOfStatisticalProcessing = 3 ; typeOfStatisticalProcessing = 3 ;
} }
#Time-minimum geometric height of 0 degrees C theta level above ground
'238390' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27315 ;
scaleFactorOfFirstFixedSurface = 2 ;
typeOfStatisticalProcessing = 3 ;
}
#Time-minimum geometric height of 1 degree C theta level above ground
'238391' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27415 ;
scaleFactorOfFirstFixedSurface = 2 ;
typeOfStatisticalProcessing = 3 ;
}
#Time-minimum geometric height of 1.5 degrees C theta level above ground
'238392' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27465 ;
scaleFactorOfFirstFixedSurface = 2 ;
typeOfStatisticalProcessing = 3 ;
}
#Time-standard-deviation temperature tendency due to short-wave radiation #Time-standard-deviation temperature tendency due to short-wave radiation
'239001' = { '239001' = {
discipline = 0 ; discipline = 0 ;
@ -14308,6 +14418,36 @@
scaleFactorOfFirstFixedSurface = 0 ; scaleFactorOfFirstFixedSurface = 0 ;
typeOfStatisticalProcessing = 6 ; typeOfStatisticalProcessing = 6 ;
} }
#Time-standard-deviation geometric height of 0 degrees C theta level above ground
'239390' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27315 ;
scaleFactorOfFirstFixedSurface = 2 ;
typeOfStatisticalProcessing = 6 ;
}
#Time-standard-deviation geometric height of 1 degree C theta level above ground
'239391' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27415 ;
scaleFactorOfFirstFixedSurface = 2 ;
typeOfStatisticalProcessing = 6 ;
}
#Time-standard-deviation geometric height of 1.5 degrees C theta level above ground
'239392' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27465 ;
scaleFactorOfFirstFixedSurface = 2 ;
typeOfStatisticalProcessing = 6 ;
}
#Cross sectional area of flow in channel #Cross sectional area of flow in channel
'240011' = { '240011' = {
discipline = 1 ; discipline = 1 ;

View File

@ -6023,13 +6023,6 @@
typeOfSecondFixedSurface = 8 ; typeOfSecondFixedSurface = 8 ;
typeOfStatisticalProcessing = 1 ; typeOfStatisticalProcessing = 1 ;
} }
#Geometric height of theta level above ground
'hthg' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
}
#Pressure at cloud base #Pressure at cloud base
'pcdb' = { 'pcdb' = {
discipline = 0 ; discipline = 0 ;
@ -6189,6 +6182,33 @@
parameterCategory = 19 ; parameterCategory = 19 ;
parameterNumber = 51 ; parameterNumber = 51 ;
} }
#Geometric height of 0 degrees C theta level above ground
'h0thg' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27315 ;
scaleFactorOfFirstFixedSurface = 2 ;
}
#Geometric height of 1 degree C theta level above ground
'h1thg' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27415 ;
scaleFactorOfFirstFixedSurface = 2 ;
}
#Geometric height of 1.5 degrees C theta level above ground
'h1p5thg' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27465 ;
scaleFactorOfFirstFixedSurface = 2 ;
}
#Burned area #Burned area
'fba' = { 'fba' = {
discipline = 2 ; discipline = 2 ;
@ -8709,6 +8729,36 @@
scaleFactorOfFirstFixedSurface = 0 ; scaleFactorOfFirstFixedSurface = 0 ;
typeOfStatisticalProcessing = 0 ; typeOfStatisticalProcessing = 0 ;
} }
#Time-mean geometric height of 0 degrees C theta level above ground
'avg_h0thg' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27315 ;
scaleFactorOfFirstFixedSurface = 2 ;
typeOfStatisticalProcessing = 0 ;
}
#Time-mean geometric height of 1 degree C theta level above ground
'avg_h1thg' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27415 ;
scaleFactorOfFirstFixedSurface = 2 ;
typeOfStatisticalProcessing = 0 ;
}
#Time-mean geometric height of 1.5 degrees C theta level above ground
'avg_h1p5thg' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27465 ;
scaleFactorOfFirstFixedSurface = 2 ;
typeOfStatisticalProcessing = 0 ;
}
#Time-integrated land surface heat net flux #Time-integrated land surface heat net flux
'acc_lshnf' = { 'acc_lshnf' = {
discipline = 2 ; discipline = 2 ;
@ -10605,6 +10655,36 @@
scaleFactorOfFirstFixedSurface = 0 ; scaleFactorOfFirstFixedSurface = 0 ;
typeOfStatisticalProcessing = 2 ; typeOfStatisticalProcessing = 2 ;
} }
#Time-maximum geometric height of 0 degrees C theta level above ground
'max_h0thg' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27315 ;
scaleFactorOfFirstFixedSurface = 2 ;
typeOfStatisticalProcessing = 2 ;
}
#Time-maximum geometric height of 1 degree C theta level above ground
'max_h1thg' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27415 ;
scaleFactorOfFirstFixedSurface = 2 ;
typeOfStatisticalProcessing = 2 ;
}
#Time-maximum geometric height of 1.5 degrees C theta level above ground
'max_h1p5thg' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27465 ;
scaleFactorOfFirstFixedSurface = 2 ;
typeOfStatisticalProcessing = 2 ;
}
#Time-minimum temperature tendency due to short-wave radiation #Time-minimum temperature tendency due to short-wave radiation
'min_ttswr' = { 'min_ttswr' = {
discipline = 0 ; discipline = 0 ;
@ -12465,6 +12545,36 @@
scaleFactorOfFirstFixedSurface = 0 ; scaleFactorOfFirstFixedSurface = 0 ;
typeOfStatisticalProcessing = 3 ; typeOfStatisticalProcessing = 3 ;
} }
#Time-minimum geometric height of 0 degrees C theta level above ground
'min_h0thg' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27315 ;
scaleFactorOfFirstFixedSurface = 2 ;
typeOfStatisticalProcessing = 3 ;
}
#Time-minimum geometric height of 1 degree C theta level above ground
'min_h1thg' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27415 ;
scaleFactorOfFirstFixedSurface = 2 ;
typeOfStatisticalProcessing = 3 ;
}
#Time-minimum geometric height of 1.5 degrees C theta level above ground
'min_h1p5thg' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27465 ;
scaleFactorOfFirstFixedSurface = 2 ;
typeOfStatisticalProcessing = 3 ;
}
#Time-standard-deviation temperature tendency due to short-wave radiation #Time-standard-deviation temperature tendency due to short-wave radiation
'std_ttswr' = { 'std_ttswr' = {
discipline = 0 ; discipline = 0 ;
@ -14308,6 +14418,36 @@
scaleFactorOfFirstFixedSurface = 0 ; scaleFactorOfFirstFixedSurface = 0 ;
typeOfStatisticalProcessing = 6 ; typeOfStatisticalProcessing = 6 ;
} }
#Time-standard-deviation geometric height of 0 degrees C theta level above ground
'std_h0thg' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27315 ;
scaleFactorOfFirstFixedSurface = 2 ;
typeOfStatisticalProcessing = 6 ;
}
#Time-standard-deviation geometric height of 1 degree C theta level above ground
'std_h1thg' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27415 ;
scaleFactorOfFirstFixedSurface = 2 ;
typeOfStatisticalProcessing = 6 ;
}
#Time-standard-deviation geometric height of 1.5 degrees C theta level above ground
'std_h1p5thg' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27465 ;
scaleFactorOfFirstFixedSurface = 2 ;
typeOfStatisticalProcessing = 6 ;
}
#Cross sectional area of flow in channel #Cross sectional area of flow in channel
'chcross' = { 'chcross' = {
discipline = 1 ; discipline = 1 ;

View File

@ -6023,13 +6023,6 @@
typeOfSecondFixedSurface = 8 ; typeOfSecondFixedSurface = 8 ;
typeOfStatisticalProcessing = 1 ; typeOfStatisticalProcessing = 1 ;
} }
#Geometric height of theta level above ground
'm' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
}
#Pressure at cloud base #Pressure at cloud base
'Pa' = { 'Pa' = {
discipline = 0 ; discipline = 0 ;
@ -6189,6 +6182,33 @@
parameterCategory = 19 ; parameterCategory = 19 ;
parameterNumber = 51 ; parameterNumber = 51 ;
} }
#Geometric height of 0 degrees C theta level above ground
'm' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27315 ;
scaleFactorOfFirstFixedSurface = 2 ;
}
#Geometric height of 1 degree C theta level above ground
'm' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27415 ;
scaleFactorOfFirstFixedSurface = 2 ;
}
#Geometric height of 1.5 degrees C theta level above ground
'm' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27465 ;
scaleFactorOfFirstFixedSurface = 2 ;
}
#Burned area #Burned area
'%' = { '%' = {
discipline = 2 ; discipline = 2 ;
@ -8709,6 +8729,36 @@
scaleFactorOfFirstFixedSurface = 0 ; scaleFactorOfFirstFixedSurface = 0 ;
typeOfStatisticalProcessing = 0 ; typeOfStatisticalProcessing = 0 ;
} }
#Time-mean geometric height of 0 degrees C theta level above ground
'm' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27315 ;
scaleFactorOfFirstFixedSurface = 2 ;
typeOfStatisticalProcessing = 0 ;
}
#Time-mean geometric height of 1 degree C theta level above ground
'm' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27415 ;
scaleFactorOfFirstFixedSurface = 2 ;
typeOfStatisticalProcessing = 0 ;
}
#Time-mean geometric height of 1.5 degrees C theta level above ground
'm' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27465 ;
scaleFactorOfFirstFixedSurface = 2 ;
typeOfStatisticalProcessing = 0 ;
}
#Time-integrated land surface heat net flux #Time-integrated land surface heat net flux
'J m**-2' = { 'J m**-2' = {
discipline = 2 ; discipline = 2 ;
@ -10605,6 +10655,36 @@
scaleFactorOfFirstFixedSurface = 0 ; scaleFactorOfFirstFixedSurface = 0 ;
typeOfStatisticalProcessing = 2 ; typeOfStatisticalProcessing = 2 ;
} }
#Time-maximum geometric height of 0 degrees C theta level above ground
'm' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27315 ;
scaleFactorOfFirstFixedSurface = 2 ;
typeOfStatisticalProcessing = 2 ;
}
#Time-maximum geometric height of 1 degree C theta level above ground
'm' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27415 ;
scaleFactorOfFirstFixedSurface = 2 ;
typeOfStatisticalProcessing = 2 ;
}
#Time-maximum geometric height of 1.5 degrees C theta level above ground
'm' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27465 ;
scaleFactorOfFirstFixedSurface = 2 ;
typeOfStatisticalProcessing = 2 ;
}
#Time-minimum temperature tendency due to short-wave radiation #Time-minimum temperature tendency due to short-wave radiation
'K s**-1' = { 'K s**-1' = {
discipline = 0 ; discipline = 0 ;
@ -12465,6 +12545,36 @@
scaleFactorOfFirstFixedSurface = 0 ; scaleFactorOfFirstFixedSurface = 0 ;
typeOfStatisticalProcessing = 3 ; typeOfStatisticalProcessing = 3 ;
} }
#Time-minimum geometric height of 0 degrees C theta level above ground
'm' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27315 ;
scaleFactorOfFirstFixedSurface = 2 ;
typeOfStatisticalProcessing = 3 ;
}
#Time-minimum geometric height of 1 degree C theta level above ground
'm' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27415 ;
scaleFactorOfFirstFixedSurface = 2 ;
typeOfStatisticalProcessing = 3 ;
}
#Time-minimum geometric height of 1.5 degrees C theta level above ground
'm' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27465 ;
scaleFactorOfFirstFixedSurface = 2 ;
typeOfStatisticalProcessing = 3 ;
}
#Time-standard-deviation temperature tendency due to short-wave radiation #Time-standard-deviation temperature tendency due to short-wave radiation
'K s**-1' = { 'K s**-1' = {
discipline = 0 ; discipline = 0 ;
@ -14308,6 +14418,36 @@
scaleFactorOfFirstFixedSurface = 0 ; scaleFactorOfFirstFixedSurface = 0 ;
typeOfStatisticalProcessing = 6 ; typeOfStatisticalProcessing = 6 ;
} }
#Time-standard-deviation geometric height of 0 degrees C theta level above ground
'm' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27315 ;
scaleFactorOfFirstFixedSurface = 2 ;
typeOfStatisticalProcessing = 6 ;
}
#Time-standard-deviation geometric height of 1 degree C theta level above ground
'm' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27415 ;
scaleFactorOfFirstFixedSurface = 2 ;
typeOfStatisticalProcessing = 6 ;
}
#Time-standard-deviation geometric height of 1.5 degrees C theta level above ground
'm' = {
discipline = 0 ;
parameterCategory = 3 ;
parameterNumber = 34 ;
typeOfFirstFixedSurface = 107 ;
scaledValueOfFirstFixedSurface = 27465 ;
scaleFactorOfFirstFixedSurface = 2 ;
typeOfStatisticalProcessing = 6 ;
}
#Cross sectional area of flow in channel #Cross sectional area of flow in channel
'm**2' = { 'm**2' = {
discipline = 1 ; discipline = 1 ;

View File

@ -10,6 +10,7 @@
# #
include_directories( include_directories(
"${CMAKE_CURRENT_SOURCE_DIR}/dumper"
"${CMAKE_CURRENT_SOURCE_DIR}/accessor" "${CMAKE_CURRENT_SOURCE_DIR}/accessor"
"${CMAKE_CURRENT_SOURCE_DIR}/geo/iterator" "${CMAKE_CURRENT_SOURCE_DIR}/geo/iterator"
"${CMAKE_CURRENT_SOURCE_DIR}/geo/nearest" "${CMAKE_CURRENT_SOURCE_DIR}/geo/nearest"
@ -273,23 +274,21 @@ list( APPEND eccodes_src_files
accessor/grib_accessor_class_reference_value_error.cc accessor/grib_accessor_class_reference_value_error.cc
grib_memory.cc grib_memory.cc
grib_buffer.cc grib_buffer.cc
grib_dumper.cc dumper/grib_dumper_class_serialize.cc
grib_dumper_class_serialize.cc dumper/grib_dumper_class_debug.cc
grib_dumper_class_debug.cc dumper/grib_dumper_class_default.cc
grib_dumper_class_default.cc dumper/grib_dumper_class_bufr_encode_C.cc
grib_dumper_class_bufr_encode_C.cc dumper/grib_dumper_class_bufr_encode_filter.cc
grib_dumper_class_bufr_encode_filter.cc dumper/grib_dumper_class_bufr_encode_fortran.cc
grib_dumper_class_bufr_encode_fortran.cc dumper/grib_dumper_class_bufr_encode_python.cc
grib_dumper_class_bufr_encode_python.cc dumper/grib_dumper_class_bufr_decode_C.cc
grib_dumper_class_bufr_decode_C.cc dumper/grib_dumper_class_bufr_decode_filter.cc
grib_dumper_class_bufr_decode_filter.cc dumper/grib_dumper_class_bufr_decode_fortran.cc
grib_dumper_class_bufr_decode_fortran.cc dumper/grib_dumper_class_bufr_decode_python.cc
grib_dumper_class_bufr_decode_python.cc dumper/grib_dumper_class_bufr_simple.cc
grib_dumper_class_bufr_simple.cc dumper/grib_dumper_class_json.cc
grib_dumper_class_json.cc dumper/grib_dumper_class_grib_encode_C.cc
grib_dumper_class_grib_encode_C.cc dumper/grib_dumper_class_wmo.cc
grib_dumper_class_wmo.cc
grib_dumper_class.cc
grib_context.cc grib_context.cc
grib_date.cc grib_date.cc
grib_fieldset.cc grib_fieldset.cc
@ -368,8 +367,7 @@ list( APPEND eccodes_src_files
grib_accessor_factory.h grib_accessor_factory.h
grib_api_internal.h grib_api_internal.h
eccodes_prototypes.h eccodes_prototypes.h
grib_dumper_class.h grib_dumper_factory.cc
grib_dumper_factory.h
grib_iterator_factory.cc grib_iterator_factory.cc
grib_nearest_factory.cc grib_nearest_factory.cc
grib_yacc.h grib_yacc.h

View File

@ -13,7 +13,6 @@
***************************************************************************/ ***************************************************************************/
#include "grib_accessor.h" #include "grib_accessor.h"
#include <iostream>
// Note: A fast cut-down version of strcmp which does NOT return -1 // Note: A fast cut-down version of strcmp which does NOT return -1
// 0 means input strings are equal and 1 means not equal // 0 means input strings are equal and 1 means not equal

View File

@ -4,106 +4,154 @@
* This software is licensed under the terms of the Apache Licence Version 2.0 * This software is licensed under the terms of the Apache Licence Version 2.0
* which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
* *
* In applying this licence, ECMWF does not waive the privileges and immunities granted to it by * In applying this licence, ECMWF does not waive the privileges and immunities
* virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction. * granted to it by virtue of its status as an intergovernmental organisation
* nor does it submit to any jurisdiction.
*/ */
#pragma once #pragma once
#include "grib_api_internal.h" #include "grib_api_internal.h"
#include "grib_value.h" #include "dumper/grib_dumper.h"
class grib_accessor namespace eccodes {
{ class Dumper;
}
class grib_accessor {
public: public:
grib_accessor() : grib_accessor()
context_(nullptr), name_(nullptr), class_name_(nullptr), name_space_(nullptr), h_(nullptr), : context_(nullptr),
creator_(nullptr), length_(0), offset_(0), parent_(nullptr), next_(nullptr), previous_(nullptr), name_(nullptr),
flags_(0), sub_section_(nullptr), dirty_(0), same_(nullptr), loop_(0), vvalue_(nullptr), set_(nullptr), parent_as_attribute_(nullptr) {} class_name_(nullptr),
name_space_(nullptr),
h_(nullptr),
creator_(nullptr),
length_(0),
offset_(0),
parent_(nullptr),
next_(nullptr),
previous_(nullptr),
flags_(0),
sub_section_(nullptr),
dirty_(0),
same_(nullptr),
loop_(0),
vvalue_(nullptr),
set_(nullptr),
parent_as_attribute_(nullptr) {}
grib_accessor(const char* name) : grib_accessor(const char *name)
context_(nullptr), name_(name), class_name_(nullptr), name_space_(nullptr), h_(nullptr), : context_(nullptr),
creator_(nullptr), length_(0), offset_(0), parent_(nullptr), next_(nullptr), previous_(nullptr), name_(name),
flags_(0), sub_section_(nullptr), dirty_(0), same_(nullptr), loop_(0), vvalue_(nullptr), set_(nullptr), parent_as_attribute_(nullptr) {} class_name_(nullptr),
virtual ~grib_accessor() {} name_space_(nullptr),
h_(nullptr),
creator_(nullptr),
length_(0),
offset_(0),
parent_(nullptr),
next_(nullptr),
previous_(nullptr),
flags_(0),
sub_section_(nullptr),
dirty_(0),
same_(nullptr),
loop_(0),
vvalue_(nullptr),
set_(nullptr),
parent_as_attribute_(nullptr) {}
virtual ~grib_accessor() {}
virtual void init_accessor(const long, grib_arguments*) = 0; virtual void init_accessor(const long, grib_arguments *) = 0;
virtual void dump(grib_dumper* f) = 0; virtual void dump(eccodes::Dumper *f) = 0;
virtual int pack_missing() = 0; virtual int pack_missing() = 0;
// virtual int grib_pack_zero(grib_accessor* a) = 0; // virtual int grib_pack_zero(grib_accessor* a) = 0;
virtual int is_missing_internal() = 0; virtual int is_missing_internal() = 0;
virtual int pack_double(const double* v, size_t* len) = 0; virtual int pack_double(const double *v, size_t *len) = 0;
virtual int pack_float(const float* v, size_t* len) = 0; virtual int pack_float(const float *v, size_t *len) = 0;
virtual int pack_expression(grib_expression* e) = 0; virtual int pack_expression(grib_expression *e) = 0;
virtual int pack_string(const char* v, size_t* len) = 0; virtual int pack_string(const char *v, size_t *len) = 0;
virtual int pack_string_array(const char** v, size_t* len) = 0; virtual int pack_string_array(const char **v, size_t *len) = 0;
virtual int pack_long(const long* v, size_t* len) = 0; virtual int pack_long(const long *v, size_t *len) = 0;
virtual int pack_bytes(const unsigned char* v, size_t* len) = 0; virtual int pack_bytes(const unsigned char *v, size_t *len) = 0;
virtual int unpack_bytes(unsigned char* v, size_t* len) = 0; virtual int unpack_bytes(unsigned char *v, size_t *len) = 0;
virtual int unpack_double_subarray(double* v, size_t start, size_t len) = 0; virtual int unpack_double_subarray(double *v, size_t start, size_t len) = 0;
virtual int unpack_double(double* v, size_t* len) = 0; virtual int unpack_double(double *v, size_t *len) = 0;
virtual int unpack_float(float* v, size_t* len) = 0; virtual int unpack_float(float *v, size_t *len) = 0;
virtual int unpack_double_element(size_t i, double* v) = 0; virtual int unpack_double_element(size_t i, double *v) = 0;
virtual int unpack_float_element(size_t i, float* v) = 0; virtual int unpack_float_element(size_t i, float *v) = 0;
virtual int unpack_double_element_set(const size_t* index_array, size_t len, double* val_array) = 0; virtual int unpack_double_element_set(const size_t *index_array,
virtual int unpack_float_element_set(const size_t* index_array, size_t len, float* val_array) = 0; size_t len,
virtual int unpack_string(char* v, size_t* len) = 0; double *val_array) = 0;
virtual int unpack_string_array(char** v, size_t* len) = 0; virtual int unpack_float_element_set(const size_t *index_array,
virtual int unpack_long(long* v, size_t* len) = 0; size_t len,
virtual long get_native_type() = 0; float *val_array) = 0;
virtual long get_next_position_offset() = 0; virtual int unpack_string(char *v, size_t *len) = 0;
virtual size_t string_length() = 0; virtual int unpack_string_array(char **v, size_t *len) = 0;
virtual long byte_offset() = 0; virtual int unpack_long(long *v, size_t *len) = 0;
virtual long byte_count() = 0; virtual long get_native_type() = 0;
virtual int value_count(long* count) = 0; virtual long get_next_position_offset() = 0;
virtual int notify_change(grib_accessor* changed) = 0; virtual size_t string_length() = 0;
virtual grib_accessor* clone(grib_section* s, int* err) = 0; virtual long byte_offset() = 0;
virtual void update_size(size_t len) = 0; virtual long byte_count() = 0;
virtual int nearest_smaller_value(double val, double* nearest) = 0; virtual int value_count(long *count) = 0;
virtual size_t preferred_size(int from_handle) = 0; virtual int notify_change(grib_accessor *changed) = 0;
virtual grib_accessor* next_accessor() = 0; virtual grib_accessor *clone(grib_section *s, int *err) = 0;
virtual void resize(size_t new_size) = 0; virtual void update_size(size_t len) = 0;
virtual void destroy(grib_context* ct) = 0; virtual int nearest_smaller_value(double val, double *nearest) = 0;
virtual int compare_accessors(grib_accessor* a2, int compare_flags); virtual size_t preferred_size(int from_handle) = 0;
virtual int compare(grib_accessor*) = 0; virtual grib_accessor *next_accessor() = 0;
virtual int add_attribute(grib_accessor* attr, int nest_if_clash); virtual void resize(size_t new_size) = 0;
virtual grib_accessor* get_attribute_index(const char* name, int* index); virtual void destroy(grib_context *ct) = 0;
virtual int has_attributes(); virtual int compare_accessors(grib_accessor *a2, int compare_flags);
virtual grib_accessor* get_attribute(const char* name); virtual int compare(grib_accessor *) = 0;
virtual void init(const long, grib_arguments*) = 0; virtual int add_attribute(grib_accessor *attr, int nest_if_clash);
virtual void post_init() = 0; virtual grib_accessor *get_attribute_index(const char *name, int *index);
virtual grib_section* sub_section() = 0; virtual int has_attributes();
virtual grib_accessor* create_empty_accessor() = 0; virtual grib_accessor *get_attribute(const char *name);
virtual int is_missing() = 0; virtual void init(const long, grib_arguments *) = 0;
virtual long next_offset() = 0; virtual void post_init() = 0;
virtual grib_accessor* next(grib_accessor*, int) = 0; virtual grib_section *sub_section() = 0;
virtual int clear() = 0; virtual grib_accessor *create_empty_accessor() = 0;
virtual grib_accessor* make_clone(grib_section*, int*) = 0; virtual int is_missing() = 0;
virtual long next_offset() = 0;
virtual grib_accessor *next(grib_accessor *, int) = 0;
virtual int clear() = 0;
virtual grib_accessor *make_clone(grib_section *, int *) = 0;
public: public:
// TODO(maee): make private // TODO(maee): make private
grib_context* context_ = nullptr; grib_context *context_ = nullptr;
const char* name_ = nullptr; // name of the accessor const char *name_ = nullptr; // name of the accessor
const char* class_name_ = nullptr; // name of the class (Artifact from C version of ecCodes) const char *class_name_ =
const char* name_space_ = nullptr; // namespace to which the accessor belongs nullptr; // name of the class (Artifact from C version of ecCodes)
grib_handle* h_ = nullptr; const char *name_space_ = nullptr; // namespace to which the accessor belongs
grib_action* creator_ = nullptr; // action that created the accessor grib_handle *h_ = nullptr;
long length_ = 0; // byte length of the accessor grib_action *creator_ = nullptr; // action that created the accessor
long offset_ = 0; // offset of the data in the buffer long length_ = 0; // byte length of the accessor
grib_section* parent_ = nullptr; // section to which the accessor is attached long offset_ = 0; // offset of the data in the buffer
grib_accessor* next_ = nullptr; // next accessor in list grib_section *parent_ = nullptr; // section to which the accessor is attached
grib_accessor* previous_ = nullptr; // next accessor in list grib_accessor *next_ = nullptr; // next accessor in list
unsigned long flags_ = 0; // Various flags grib_accessor *previous_ = nullptr; // next accessor in list
grib_section* sub_section_ = nullptr; unsigned long flags_ = 0; // Various flags
grib_section *sub_section_ = nullptr;
const char* all_names_[MAX_ACCESSOR_NAMES] = {0,}; // name of the accessor const char *all_names_[MAX_ACCESSOR_NAMES] = {
const char* all_name_spaces_[MAX_ACCESSOR_NAMES] = {0,}; // namespace to which the accessor belongs 0,
int dirty_ = 0; }; // name of the accessor
const char *all_name_spaces_[MAX_ACCESSOR_NAMES] = {
0,
}; // namespace to which the accessor belongs
int dirty_ = 0;
grib_accessor* same_ = nullptr; // accessors with the same name grib_accessor *same_ = nullptr; // accessors with the same name
long loop_ = 0; // used in lists long loop_ = 0; // used in lists
grib_virtual_value* vvalue_ = nullptr; // virtual value used when transient flag on grib_virtual_value *vvalue_ =
const char* set_ = nullptr; nullptr; // virtual value used when transient flag on
grib_accessor* attributes_[MAX_ACCESSOR_ATTRIBUTES] = {0,}; // attributes are accessors const char *set_ = nullptr;
grib_accessor* parent_as_attribute_ = nullptr; grib_accessor *attributes_[MAX_ACCESSOR_ATTRIBUTES] = {
0,
}; // attributes are accessors
grib_accessor *parent_as_attribute_ = nullptr;
}; };

View File

@ -31,9 +31,9 @@ size_t grib_accessor_ascii_t::string_length()
return length_; return length_;
} }
void grib_accessor_ascii_t::dump(grib_dumper* dumper) void grib_accessor_ascii_t::dump(eccodes::Dumper* dumper)
{ {
grib_dump_string(dumper, this, NULL); dumper->dump_string(this, NULL);
} }
long grib_accessor_ascii_t::get_native_type() long grib_accessor_ascii_t::get_native_type()

View File

@ -27,7 +27,7 @@ public:
int unpack_string(char*, size_t* len) override; int unpack_string(char*, size_t* len) override;
size_t string_length() override; size_t string_length() override;
int value_count(long*) override; int value_count(long*) override;
void dump(grib_dumper*) override; void dump(eccodes::Dumper*) override;
void init(const long, grib_arguments*) override; void init(const long, grib_arguments*) override;
int compare(grib_accessor*) override; int compare(grib_accessor*) override;
}; };

View File

@ -67,14 +67,14 @@ long grib_accessor_bitmap_t::next_offset()
return byte_offset() + byte_count(); return byte_offset() + byte_count();
} }
void grib_accessor_bitmap_t::dump(grib_dumper* dumper) void grib_accessor_bitmap_t::dump(eccodes::Dumper* dumper)
{ {
long len = 0; long len = 0;
char label[1024]; char label[1024];
value_count(&len); value_count(&len);
snprintf(label, sizeof(label), "Bitmap of %ld values", len); snprintf(label, sizeof(label), "Bitmap of %ld values", len);
grib_dump_bytes(dumper, this, label); dumper->dump_bytes(this, label);
} }
int grib_accessor_bitmap_t::unpack_long(long* val, size_t* len) int grib_accessor_bitmap_t::unpack_long(long* val, size_t* len)

View File

@ -24,7 +24,7 @@ public:
int unpack_string(char*, size_t* len) override; int unpack_string(char*, size_t* len) override;
size_t string_length() override; size_t string_length() override;
long next_offset() override; long next_offset() override;
void dump(grib_dumper*) override; void dump(eccodes::Dumper*) override;
void init(const long, grib_arguments*) override; void init(const long, grib_arguments*) override;
void update_size(size_t) override; void update_size(size_t) override;
int unpack_double_element(size_t i, double* val) override; int unpack_double_element(size_t i, double* val) override;

View File

@ -39,7 +39,7 @@ int grib_accessor_blob_t::unpack_bytes(unsigned char* buffer, size_t* len)
return GRIB_SUCCESS; return GRIB_SUCCESS;
} }
void grib_accessor_blob_t::dump(grib_dumper* dumper) void grib_accessor_blob_t::dump(eccodes::Dumper* dumper)
{ {
grib_dump_bytes(dumper, this, NULL); dumper->dump_bytes(this, NULL);
} }

View File

@ -20,6 +20,6 @@ public:
grib_accessor* create_empty_accessor() override { return new grib_accessor_blob_t{}; } grib_accessor* create_empty_accessor() override { return new grib_accessor_blob_t{}; }
long get_native_type() override; long get_native_type() override;
int unpack_bytes(unsigned char*, size_t* len) override; int unpack_bytes(unsigned char*, size_t* len) override;
void dump(grib_dumper*) override; void dump(eccodes::Dumper*) override;
void init(const long, grib_arguments*) override; void init(const long, grib_arguments*) override;
}; };

View File

@ -3224,11 +3224,11 @@ int grib_accessor_bufr_data_array_t::process_elements(int flag, long onlySubset,
return err; return err;
} }
void grib_accessor_bufr_data_array_t::dump(grib_dumper* dumper) void grib_accessor_bufr_data_array_t::dump(eccodes::Dumper* dumper)
{ {
// grib_accessor_bufr_data_array_t *self =(grib_accessor_bufr_data_array_t*)a; // grib_accessor_bufr_data_array_t *self =(grib_accessor_bufr_data_array_t*)a;
// int err=process_elements(a,PROCESS_DECODE); // int err=process_elements(a,PROCESS_DECODE);
// grib_dump_section(dumper,a,self->dataKeys_ ->block); // dumper->dump_section(a,self->dataKeys_ ->block);
return; return;
} }

View File

@ -38,7 +38,7 @@ public:
long next_offset() override; long next_offset() override;
int value_count(long*) override; int value_count(long*) override;
void destroy(grib_context*) override; void destroy(grib_context*) override;
void dump(grib_dumper*) override; void dump(eccodes::Dumper*) override;
void init(const long, grib_arguments*) override; void init(const long, grib_arguments*) override;
void accessor_bufr_data_array_set_unpackMode(int); void accessor_bufr_data_array_set_unpackMode(int);

View File

@ -79,19 +79,19 @@ void grib_accessor_bufr_data_element_t::init(const long len, grib_arguments* par
cname_ = NULL; cname_ = NULL;
} }
void grib_accessor_bufr_data_element_t::dump(grib_dumper* dumper) void grib_accessor_bufr_data_element_t::dump(eccodes::Dumper* dumper)
{ {
const int ntype = get_native_type(); const int ntype = get_native_type();
switch (ntype) { switch (ntype) {
case GRIB_TYPE_LONG: case GRIB_TYPE_LONG:
grib_dump_long(dumper, this, NULL); dumper->dump_long(this, NULL);
break; break;
case GRIB_TYPE_DOUBLE: case GRIB_TYPE_DOUBLE:
grib_dump_values(dumper, this); dumper->dump_values(this);
break; break;
case GRIB_TYPE_STRING: case GRIB_TYPE_STRING:
grib_dump_string_array(dumper, this, NULL); dumper->dump_string_array(this, NULL);
break; break;
} }
} }

View File

@ -31,7 +31,7 @@ public:
int unpack_string_array(char**, size_t* len) override; int unpack_string_array(char**, size_t* len) override;
int value_count(long*) override; int value_count(long*) override;
void destroy(grib_context*) override; void destroy(grib_context*) override;
void dump(grib_dumper*) override; void dump(eccodes::Dumper*) override;
void init(const long, grib_arguments*) override; void init(const long, grib_arguments*) override;
int unpack_double_element(size_t i, double* val) override; int unpack_double_element(size_t i, double* val) override;
grib_accessor* make_clone(grib_section*, int*) override; grib_accessor* make_clone(grib_section*, int*) override;

View File

@ -13,9 +13,9 @@
grib_accessor_bufr_group_t _grib_accessor_bufr_group{}; grib_accessor_bufr_group_t _grib_accessor_bufr_group{};
grib_accessor* grib_accessor_bufr_group = &_grib_accessor_bufr_group; grib_accessor* grib_accessor_bufr_group = &_grib_accessor_bufr_group;
void grib_accessor_bufr_group_t::dump(grib_dumper* dumper) void grib_accessor_bufr_group_t::dump(eccodes::Dumper* dumper)
{ {
grib_dump_section(dumper, this, sub_section_->block); dumper->dump_section(this, sub_section_->block);
} }
grib_accessor* grib_accessor_bufr_group_t::next(grib_accessor* a, int explore) grib_accessor* grib_accessor_bufr_group_t::next(grib_accessor* a, int explore)

View File

@ -18,6 +18,6 @@ public:
grib_accessor_bufr_group_t() : grib_accessor_bufr_group_t() :
grib_accessor_variable_t() { class_name_ = "bufr_group"; } grib_accessor_variable_t() { class_name_ = "bufr_group"; }
grib_accessor* create_empty_accessor() override { return new grib_accessor_bufr_group_t{}; } grib_accessor* create_empty_accessor() override { return new grib_accessor_bufr_group_t{}; }
void dump(grib_dumper*) override; void dump(eccodes::Dumper*) override;
grib_accessor* next(grib_accessor*, int explore) override; grib_accessor* next(grib_accessor*, int explore) override;
}; };

View File

@ -24,9 +24,9 @@ void grib_accessor_bufr_string_values_t::init(const long len, grib_arguments* ar
flags_ |= GRIB_ACCESSOR_FLAG_READ_ONLY; flags_ |= GRIB_ACCESSOR_FLAG_READ_ONLY;
} }
void grib_accessor_bufr_string_values_t::dump(grib_dumper* dumper) void grib_accessor_bufr_string_values_t::dump(eccodes::Dumper* dumper)
{ {
grib_dump_string_array(dumper, this, NULL); dumper->dump_string_array(this, NULL);
} }
grib_accessor* grib_accessor_bufr_string_values_t::get_accessor() grib_accessor* grib_accessor_bufr_string_values_t::get_accessor()

View File

@ -22,7 +22,7 @@ public:
int unpack_string_array(char**, size_t* len) override; int unpack_string_array(char**, size_t* len) override;
int value_count(long*) override; int value_count(long*) override;
void destroy(grib_context*) override; void destroy(grib_context*) override;
void dump(grib_dumper*) override; void dump(eccodes::Dumper*) override;
void init(const long, grib_arguments*) override; void init(const long, grib_arguments*) override;
private: private:

View File

@ -33,9 +33,9 @@ void grib_accessor_closest_date_t::init(const long l, grib_arguments* c)
length_ = 0; length_ = 0;
} }
void grib_accessor_closest_date_t::dump(grib_dumper* dumper) void grib_accessor_closest_date_t::dump(eccodes::Dumper* dumper)
{ {
grib_dump_string(dumper, this, NULL); dumper->dump_string(this, NULL);
} }
int grib_accessor_closest_date_t::unpack_long(long* val, size_t* len) int grib_accessor_closest_date_t::unpack_long(long* val, size_t* len)

View File

@ -20,7 +20,7 @@ public:
grib_accessor* create_empty_accessor() override { return new grib_accessor_closest_date_t{}; } grib_accessor* create_empty_accessor() override { return new grib_accessor_closest_date_t{}; }
int unpack_double(double* val, size_t* len) override; int unpack_double(double* val, size_t* len) override;
int unpack_long(long* val, size_t* len) override; int unpack_long(long* val, size_t* len) override;
void dump(grib_dumper*) override; void dump(eccodes::Dumper*) override;
void init(const long, grib_arguments*) override; void init(const long, grib_arguments*) override;
private: private:

View File

@ -101,7 +101,7 @@ int grib_accessor_codeflag_t::value_count(long* count)
return 0; return 0;
} }
void grib_accessor_codeflag_t::dump(grib_dumper* dumper) void grib_accessor_codeflag_t::dump(eccodes::Dumper* dumper)
{ {
long v = 0; long v = 0;
char flagname[1024] = {0,}; char flagname[1024] = {0,};
@ -113,5 +113,5 @@ void grib_accessor_codeflag_t::dump(grib_dumper* dumper)
unpack_long(&v, &llen); unpack_long(&v, &llen);
grib_get_codeflag(v, flagname); grib_get_codeflag(v, flagname);
grib_dump_bits(dumper, this, flagname); dumper->dump_bits(this, flagname);
} }

View File

@ -19,7 +19,7 @@ public:
grib_accessor_unsigned_t() { class_name_ = "codeflag"; } grib_accessor_unsigned_t() { class_name_ = "codeflag"; }
grib_accessor* create_empty_accessor() override { return new grib_accessor_codeflag_t{}; } grib_accessor* create_empty_accessor() override { return new grib_accessor_codeflag_t{}; }
int value_count(long*) override; int value_count(long*) override;
void dump(grib_dumper*) override; void dump(eccodes::Dumper*) override;
void init(const long, grib_arguments*) override; void init(const long, grib_arguments*) override;
private: private:

View File

@ -506,7 +506,7 @@ int codes_codetable_check_abbreviation(const grib_handle* h, const char* key, co
return err; return err;
} }
void grib_accessor_codetable_t::dump(grib_dumper* dumper) void grib_accessor_codetable_t::dump(eccodes::Dumper* dumper)
{ {
char comment[2048]; char comment[2048];
grib_codetable* table; grib_codetable* table;
@ -560,7 +560,7 @@ void grib_accessor_codetable_t::dump(grib_dumper* dumper)
} }
strcat(comment, ") "); strcat(comment, ") ");
grib_dump_long(dumper, this, comment); dumper->dump_long(this, comment);
} }
int grib_accessor_codetable_t::unpack_string(char* buffer, size_t* len) int grib_accessor_codetable_t::unpack_string(char* buffer, size_t* len)

View File

@ -27,7 +27,7 @@ public:
int unpack_string(char*, size_t* len) override; int unpack_string(char*, size_t* len) override;
int value_count(long*) override; int value_count(long*) override;
void destroy(grib_context*) override; void destroy(grib_context*) override;
void dump(grib_dumper*) override; void dump(eccodes::Dumper*) override;
void init(const long, grib_arguments*) override; void init(const long, grib_arguments*) override;
grib_codetable* codetable() const { return table_; } grib_codetable* codetable() const { return table_; }

View File

@ -40,9 +40,9 @@ void grib_accessor_concept_t::init(const long len, grib_arguments* args)
length_ = 0; length_ = 0;
} }
void grib_accessor_concept_t::dump(grib_dumper* dumper) void grib_accessor_concept_t::dump(eccodes::Dumper* dumper)
{ {
grib_dump_string(dumper, this, NULL); dumper->dump_string(this, NULL);
} }
// See ECC-1905 // See ECC-1905

View File

@ -28,7 +28,7 @@ public:
size_t string_length() override; size_t string_length() override;
int value_count(long*) override; int value_count(long*) override;
void destroy(grib_context*) override; void destroy(grib_context*) override;
void dump(grib_dumper*) override; void dump(eccodes::Dumper*) override;
void init(const long, grib_arguments*) override; void init(const long, grib_arguments*) override;
int compare(grib_accessor*) override; int compare(grib_accessor*) override;
}; };

View File

@ -27,9 +27,9 @@ void grib_accessor_data_apply_bitmap_t::init(const long v, grib_arguments* args)
length_ = 0; length_ = 0;
} }
void grib_accessor_data_apply_bitmap_t::dump(grib_dumper* dumper) void grib_accessor_data_apply_bitmap_t::dump(eccodes::Dumper* dumper)
{ {
grib_dump_values(dumper, this); dumper->dump_values(this);
} }
int grib_accessor_data_apply_bitmap_t::value_count(long* count) int grib_accessor_data_apply_bitmap_t::value_count(long* count)

View File

@ -23,7 +23,7 @@ public:
int unpack_double(double* val, size_t* len) override; int unpack_double(double* val, size_t* len) override;
int unpack_float(float* val, size_t* len) override; int unpack_float(float* val, size_t* len) override;
int value_count(long*) override; int value_count(long*) override;
void dump(grib_dumper*) override; void dump(eccodes::Dumper*) override;
void init(const long, grib_arguments*) override; void init(const long, grib_arguments*) override;
int compare(grib_accessor*) override; int compare(grib_accessor*) override;
int unpack_double_element(size_t i, double* val) override; int unpack_double_element(size_t i, double* val) override;

View File

@ -26,9 +26,9 @@ void grib_accessor_data_apply_boustrophedonic_t::init(const long v, grib_argumen
length_ = 0; length_ = 0;
} }
void grib_accessor_data_apply_boustrophedonic_t::dump(grib_dumper* dumper) void grib_accessor_data_apply_boustrophedonic_t::dump(eccodes::Dumper* dumper)
{ {
grib_dump_values(dumper, this); dumper->dump_values(this);
} }
int grib_accessor_data_apply_boustrophedonic_t::value_count(long* numberOfPoints) int grib_accessor_data_apply_boustrophedonic_t::value_count(long* numberOfPoints)

View File

@ -23,7 +23,7 @@ public:
int unpack_double(double* val, size_t* len) override; int unpack_double(double* val, size_t* len) override;
int unpack_float(float* val, size_t* len) override; int unpack_float(float* val, size_t* len) override;
int value_count(long*) override; int value_count(long*) override;
void dump(grib_dumper*) override; void dump(eccodes::Dumper*) override;
void init(const long, grib_arguments*) override; void init(const long, grib_arguments*) override;
int unpack_double_element(size_t i, double* val) override; int unpack_double_element(size_t i, double* val) override;
int unpack_double_element_set(const size_t* index_array, size_t len, double* val_array) override; int unpack_double_element_set(const size_t* index_array, size_t len, double* val_array) override;

View File

@ -31,9 +31,9 @@ void grib_accessor_data_apply_boustrophedonic_bitmap_t::init(const long v, grib_
length_ = 0; length_ = 0;
} }
void grib_accessor_data_apply_boustrophedonic_bitmap_t::dump(grib_dumper* dumper) void grib_accessor_data_apply_boustrophedonic_bitmap_t::dump(eccodes::Dumper* dumper)
{ {
grib_dump_values(dumper, this); dumper->dump_values(this);
} }
int grib_accessor_data_apply_boustrophedonic_bitmap_t::value_count(long* count) int grib_accessor_data_apply_boustrophedonic_bitmap_t::value_count(long* count)

View File

@ -22,7 +22,7 @@ public:
int pack_double(const double* val, size_t* len) override; int pack_double(const double* val, size_t* len) override;
int unpack_double(double* val, size_t* len) override; int unpack_double(double* val, size_t* len) override;
int value_count(long*) override; int value_count(long*) override;
void dump(grib_dumper*) override; void dump(eccodes::Dumper*) override;
void init(const long, grib_arguments*) override; void init(const long, grib_arguments*) override;
int unpack_double_element(size_t i, double* val) override; int unpack_double_element(size_t i, double* val) override;
int unpack_double_element_set(const size_t* index_array, size_t len, double* val_array) override; int unpack_double_element_set(const size_t* index_array, size_t len, double* val_array) override;

View File

@ -45,7 +45,7 @@ long number_of_bits(grib_handle* h, unsigned long x)
n++; n++;
i++; i++;
if (i >= count) { if (i >= count) {
/*grib_dump_content(h, stdout,"debug", ~0, NULL);*/ /*h->dump_content(stdout,"debug", ~0, NULL);*/
grib_context_log(h->context, GRIB_LOG_FATAL, grib_context_log(h->context, GRIB_LOG_FATAL,
"grib_accessor_data_g1second_order_general_extended_packing: Number out of range: %ld", x); "grib_accessor_data_g1second_order_general_extended_packing: Number out of range: %ld", x);
} }

View File

@ -24,9 +24,9 @@ void grib_accessor_data_secondary_bitmap_t::init(const long v, grib_arguments* a
length_ = 0; length_ = 0;
} }
void grib_accessor_data_secondary_bitmap_t::dump(grib_dumper* dumper) void grib_accessor_data_secondary_bitmap_t::dump(eccodes::Dumper* dumper)
{ {
grib_dump_values(dumper, this); dumper->dump_values(this);
} }
int grib_accessor_data_secondary_bitmap_t::unpack_double(double* val, size_t* len) int grib_accessor_data_secondary_bitmap_t::unpack_double(double* val, size_t* len)

View File

@ -20,7 +20,7 @@ public:
// grib_accessor* create_empty_accessor() override { return new grib_accessor_data_secondary_bitmap_t{}; } // grib_accessor* create_empty_accessor() override { return new grib_accessor_data_secondary_bitmap_t{}; }
long get_native_type() override; long get_native_type() override;
int unpack_double(double* val, size_t* len) override; int unpack_double(double* val, size_t* len) override;
void dump(grib_dumper*) override; void dump(eccodes::Dumper*) override;
void init(const long, grib_arguments*) override; void init(const long, grib_arguments*) override;
protected: protected:

View File

@ -24,9 +24,9 @@ void grib_accessor_data_shsimple_packing_t::init(const long v, grib_arguments* a
length_ = 0; length_ = 0;
} }
void grib_accessor_data_shsimple_packing_t::dump(grib_dumper* dumper) void grib_accessor_data_shsimple_packing_t::dump(eccodes::Dumper* dumper)
{ {
grib_dump_values(dumper, this); dumper->dump_values(this);
} }
int grib_accessor_data_shsimple_packing_t::pack_double(const double* val, size_t* len) int grib_accessor_data_shsimple_packing_t::pack_double(const double* val, size_t* len)

View File

@ -20,7 +20,7 @@ public:
// grib_accessor* create_empty_accessor() override { return new grib_accessor_data_shsimple_packing_t{}; } // grib_accessor* create_empty_accessor() override { return new grib_accessor_data_shsimple_packing_t{}; }
long get_native_type() override; long get_native_type() override;
int pack_double(const double* val, size_t* len) override; int pack_double(const double* val, size_t* len) override;
void dump(grib_dumper*) override; void dump(eccodes::Dumper*) override;
void init(const long, grib_arguments*) override; void init(const long, grib_arguments*) override;
protected: protected:

View File

@ -143,17 +143,17 @@ grib_trie* grib_accessor_dictionary_t::load_dictionary(int* err)
return dictionary; return dictionary;
} }
void grib_accessor_dictionary_t::dump(grib_dumper* dumper) void grib_accessor_dictionary_t::dump(eccodes::Dumper* dumper)
{ {
switch (get_native_type()) { switch (get_native_type()) {
case GRIB_TYPE_STRING: case GRIB_TYPE_STRING:
grib_dump_string(dumper, this, NULL); dumper->dump_string(this, NULL);
break; break;
case GRIB_TYPE_LONG: case GRIB_TYPE_LONG:
grib_dump_long(dumper, this, NULL); dumper->dump_long(this, NULL);
break; break;
case GRIB_TYPE_DOUBLE: case GRIB_TYPE_DOUBLE:
grib_dump_double(dumper, this, NULL); dumper->dump_double(this, NULL);
break; break;
} }
} }

View File

@ -23,7 +23,7 @@ public:
int unpack_long(long* val, size_t* len) override; int unpack_long(long* val, size_t* len) override;
int unpack_string(char*, size_t* len) override; int unpack_string(char*, size_t* len) override;
int value_count(long*) override; int value_count(long*) override;
void dump(grib_dumper*) override; void dump(eccodes::Dumper*) override;
void init(const long, grib_arguments*) override; void init(const long, grib_arguments*) override;
private: private:

View File

@ -53,9 +53,9 @@ int grib_accessor_double_t::unpack_string(char* v, size_t* len)
return GRIB_SUCCESS; return GRIB_SUCCESS;
} }
void grib_accessor_double_t::dump(grib_dumper* dumper) void grib_accessor_double_t::dump(eccodes::Dumper* dumper)
{ {
grib_dump_values(dumper, this); dumper->dump_values(this);
} }
int grib_accessor_double_t::compare(grib_accessor* b) int grib_accessor_double_t::compare(grib_accessor* b)

View File

@ -21,6 +21,6 @@ public:
long get_native_type() override; long get_native_type() override;
int pack_missing() override; int pack_missing() override;
int unpack_string(char*, size_t* len) override; int unpack_string(char*, size_t* len) override;
void dump(grib_dumper*) override; void dump(eccodes::Dumper*) override;
int compare(grib_accessor*) override; int compare(grib_accessor*) override;
}; };

View File

@ -21,9 +21,9 @@ void grib_accessor_g1_half_byte_codeflag_t::init(const long len, grib_arguments*
flags_ |= GRIB_ACCESSOR_FLAG_EDITION_SPECIFIC; flags_ |= GRIB_ACCESSOR_FLAG_EDITION_SPECIFIC;
} }
void grib_accessor_g1_half_byte_codeflag_t::dump(grib_dumper* dumper) void grib_accessor_g1_half_byte_codeflag_t::dump(eccodes::Dumper* dumper)
{ {
grib_dump_long(dumper, this, NULL); dumper->dump_long(this, NULL);
} }
int grib_accessor_g1_half_byte_codeflag_t::unpack_long(long* val, size_t* len) int grib_accessor_g1_half_byte_codeflag_t::unpack_long(long* val, size_t* len)

View File

@ -21,6 +21,6 @@ public:
long get_native_type() override; long get_native_type() override;
int pack_long(const long* val, size_t* len) override; int pack_long(const long* val, size_t* len) override;
int unpack_long(long* val, size_t* len) override; int unpack_long(long* val, size_t* len) override;
void dump(grib_dumper*) override; void dump(eccodes::Dumper*) override;
void init(const long, grib_arguments*) override; void init(const long, grib_arguments*) override;
}; };

View File

@ -19,9 +19,9 @@ void grib_accessor_g1day_of_the_year_date_t::init(const long l, grib_arguments*
flags_ |= GRIB_ACCESSOR_FLAG_READ_ONLY; flags_ |= GRIB_ACCESSOR_FLAG_READ_ONLY;
} }
void grib_accessor_g1day_of_the_year_date_t::dump(grib_dumper* dumper) void grib_accessor_g1day_of_the_year_date_t::dump(eccodes::Dumper* dumper)
{ {
grib_dump_string(dumper, this, NULL); dumper->dump_string(this, NULL);
} }
int grib_accessor_g1day_of_the_year_date_t::unpack_string(char* val, size_t* len) int grib_accessor_g1day_of_the_year_date_t::unpack_string(char* val, size_t* len)

View File

@ -19,6 +19,6 @@ public:
grib_accessor_g1date_t() { class_name_ = "g1day_of_the_year_date"; } grib_accessor_g1date_t() { class_name_ = "g1day_of_the_year_date"; }
grib_accessor* create_empty_accessor() override { return new grib_accessor_g1day_of_the_year_date_t{}; } grib_accessor* create_empty_accessor() override { return new grib_accessor_g1day_of_the_year_date_t{}; }
int unpack_string(char*, size_t* len) override; int unpack_string(char*, size_t* len) override;
void dump(grib_dumper*) override; void dump(eccodes::Dumper*) override;
void init(const long, grib_arguments*) override; void init(const long, grib_arguments*) override;
}; };

View File

@ -29,9 +29,9 @@ void grib_accessor_g1forecastmonth_t::init(const long l, grib_arguments* c)
} }
} }
void grib_accessor_g1forecastmonth_t::dump(grib_dumper* dumper) void grib_accessor_g1forecastmonth_t::dump(eccodes::Dumper* dumper)
{ {
grib_dump_long(dumper, this, NULL); dumper->dump_long(this, NULL);
} }
static int calculate_fcmonth(grib_accessor* a, long verification_yearmonth, long base_date, long day, long hour, long* result) static int calculate_fcmonth(grib_accessor* a, long verification_yearmonth, long base_date, long day, long hour, long* result)

View File

@ -20,7 +20,7 @@ public:
grib_accessor* create_empty_accessor() override { return new grib_accessor_g1forecastmonth_t{}; } grib_accessor* create_empty_accessor() override { return new grib_accessor_g1forecastmonth_t{}; }
int pack_long(const long* val, size_t* len) override; int pack_long(const long* val, size_t* len) override;
int unpack_long(long* val, size_t* len) override; int unpack_long(long* val, size_t* len) override;
void dump(grib_dumper*) override; void dump(eccodes::Dumper*) override;
void init(const long, grib_arguments*) override; void init(const long, grib_arguments*) override;
private: private:

View File

@ -36,9 +36,9 @@ void grib_accessor_g1step_range_t::init(const long l, grib_arguments* c)
length_ = 0; length_ = 0;
} }
void grib_accessor_g1step_range_t::dump(grib_dumper* dumper) void grib_accessor_g1step_range_t::dump(eccodes::Dumper* dumper)
{ {
grib_dump_string(dumper, this, NULL); dumper->dump_string(this, NULL);
} }
static const int u2s1[] = { static const int u2s1[] = {

View File

@ -26,7 +26,7 @@ public:
size_t string_length() override; size_t string_length() override;
int value_count(long*) override; int value_count(long*) override;
void destroy(grib_context*) override; void destroy(grib_context*) override;
void dump(grib_dumper*) override; void dump(eccodes::Dumper*) override;
void init(const long, grib_arguments*) override; void init(const long, grib_arguments*) override;
protected: protected:

View File

@ -45,9 +45,9 @@ void grib_accessor_g2end_step_t::init(const long l, grib_arguments* c)
numberOfTimeRanges_ = c->get_name(h, n++); numberOfTimeRanges_ = c->get_name(h, n++);
} }
void grib_accessor_g2end_step_t::dump(grib_dumper* dumper) void grib_accessor_g2end_step_t::dump(eccodes::Dumper* dumper)
{ {
grib_dump_double(dumper, this, NULL); dumper->dump_double(this, NULL);
} }
// See GRIB-488 // See GRIB-488

View File

@ -24,7 +24,7 @@ public:
int unpack_double(double* val, size_t* len) override; int unpack_double(double* val, size_t* len) override;
int unpack_long(long* val, size_t* len) override; int unpack_long(long* val, size_t* len) override;
int unpack_string(char*, size_t* len) override; int unpack_string(char*, size_t* len) override;
void dump(grib_dumper*) override; void dump(eccodes::Dumper*) override;
void init(const long, grib_arguments*) override; void init(const long, grib_arguments*) override;
private: private:

View File

@ -28,9 +28,9 @@ void grib_accessor_g2step_range_t::init(const long l, grib_arguments* c)
length_ = 0; length_ = 0;
} }
// static void dump(grib_accessor* a, grib_dumper* dumper) // static void dump(grib_accessor* a, eccodes::Dumper* dumper)
//{ //{
// grib_dump_string(dumper, a, NULL); // dumper->dump_string(a, NULL);
//} //}
int grib_accessor_g2step_range_t::unpack_string(char* val, size_t* len) int grib_accessor_g2step_range_t::unpack_string(char* val, size_t* len)

View File

@ -4,15 +4,15 @@
* This software is licensed under the terms of the Apache Licence Version 2.0 * This software is licensed under the terms of the Apache Licence Version 2.0
* which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
* *
* In applying this licence, ECMWF does not waive the privileges and immunities granted to it by * In applying this licence, ECMWF does not waive the privileges and immunities
* virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction. * granted to it by virtue of its status as an intergovernmental organisation
* nor does it submit to any jurisdiction.
*/ */
#include "grib_accessor_class.h"
#include "grib_accessor_class_gen.h" #include "grib_accessor_class_gen.h"
#include "grib_accessor_class.h"
#include <stdexcept> #include <stdexcept>
grib_accessor_gen_t _grib_accessor_gen = grib_accessor_gen_t{}; grib_accessor_gen_t _grib_accessor_gen = grib_accessor_gen_t{};
grib_accessor* grib_accessor_gen = &_grib_accessor_gen; grib_accessor* grib_accessor_gen = &_grib_accessor_gen;
@ -70,21 +70,21 @@ void grib_accessor_gen_t::init(const long len, grib_arguments* param)
} }
} }
void grib_accessor_gen_t::dump(grib_dumper* dumper) void grib_accessor_gen_t::dump(eccodes::Dumper* dumper)
{ {
const int type = get_native_type(); const int type = get_native_type();
switch (type) { switch (type) {
case GRIB_TYPE_STRING: case GRIB_TYPE_STRING:
grib_dump_string(dumper, this, NULL); dumper->dump_string(this, NULL);
break; break;
case GRIB_TYPE_DOUBLE: case GRIB_TYPE_DOUBLE:
grib_dump_double(dumper, this, NULL); dumper->dump_double(this, NULL);
break; break;
case GRIB_TYPE_LONG: case GRIB_TYPE_LONG:
grib_dump_long(dumper, this, NULL); dumper->dump_long(this, NULL);
break; break;
default: default:
grib_dump_bytes(dumper, this, NULL); dumper->dump_bytes(this, NULL);
} }
} }
@ -111,8 +111,11 @@ long grib_accessor_gen_t::byte_count()
long grib_accessor_gen_t::get_native_type() long grib_accessor_gen_t::get_native_type()
{ {
grib_context_log(context_, GRIB_LOG_ERROR, grib_context_log(context_,
"Accessor %s [%s] must implement 'get_native_type'", name_, class_name_); GRIB_LOG_ERROR,
"Accessor %s [%s] must implement 'get_native_type'",
name_,
class_name_);
return GRIB_TYPE_UNDEFINED; return GRIB_TYPE_UNDEFINED;
} }
@ -124,11 +127,15 @@ long grib_accessor_gen_t::byte_offset()
int grib_accessor_gen_t::unpack_bytes(unsigned char* val, size_t* len) int grib_accessor_gen_t::unpack_bytes(unsigned char* val, size_t* len)
{ {
const unsigned char* buf = grib_handle_of_accessor(this)->buffer->data; const unsigned char* buf = grib_handle_of_accessor(this)->buffer->data;
const long length = byte_count(); const long length = byte_count();
const long offset = byte_offset(); const long offset = byte_offset();
if (*len < length) { if (*len < length) {
grib_context_log(context_, GRIB_LOG_ERROR, "Wrong size for %s, it is %ld bytes long", name_, length); grib_context_log(context_,
GRIB_LOG_ERROR,
"Wrong size for %s, it is %ld bytes long",
name_,
length);
*len = length; *len = length;
return GRIB_ARRAY_TOO_SMALL; return GRIB_ARRAY_TOO_SMALL;
} }
@ -163,7 +170,8 @@ int grib_accessor_gen_t::unpack_long(long* v, size_t* len)
*v = GRIB_MISSING_LONG; *v = GRIB_MISSING_LONG;
else else
*v = (long)val; *v = (long)val;
grib_context_log(context_, GRIB_LOG_DEBUG, "Casting double %s to long", name_); grib_context_log(
context_, GRIB_LOG_DEBUG, "Casting double %s to long", name_);
return GRIB_SUCCESS; return GRIB_SUCCESS;
} }
} }
@ -178,15 +186,21 @@ int grib_accessor_gen_t::unpack_long(long* v, size_t* len)
*v = strtol(val, &last, 10); *v = strtol(val, &last, 10);
if (*last == 0) { if (*last == 0) {
grib_context_log(context_, GRIB_LOG_DEBUG, "Casting string %s to long", name_); grib_context_log(
context_, GRIB_LOG_DEBUG, "Casting string %s to long", name_);
return GRIB_SUCCESS; return GRIB_SUCCESS;
} }
} }
} }
grib_context_log(context_, GRIB_LOG_ERROR, "Cannot unpack key '%s' as long", name_); grib_context_log(
if (grib_get_native_type(grib_handle_of_accessor(this), name_, &type) == GRIB_SUCCESS) { context_, GRIB_LOG_ERROR, "Cannot unpack key '%s' as long", name_);
grib_context_log(context_, GRIB_LOG_ERROR, "Hint: Try unpacking as %s", grib_get_type_name(type)); if (grib_get_native_type(grib_handle_of_accessor(this), name_, &type) ==
GRIB_SUCCESS) {
grib_context_log(context_,
GRIB_LOG_ERROR,
"Hint: Try unpacking as %s",
grib_get_type_name(type));
} }
return GRIB_NOT_IMPLEMENTED; return GRIB_NOT_IMPLEMENTED;
} }
@ -211,10 +225,12 @@ int grib_accessor_gen_t::unpack_string(char* v, size_t* len)
size_t l = 1; size_t l = 1;
err = unpack_double(&val, &l); err = unpack_double(&val, &l);
if (is_overridden_[UNPACK_DOUBLE] == 1) { if (is_overridden_[UNPACK_DOUBLE] == 1) {
if (err) return err; if (err)
return err;
snprintf(v, 64, "%g", val); snprintf(v, 64, "%g", val);
*len = strlen(v); *len = strlen(v);
grib_context_log(context_, GRIB_LOG_DEBUG, "Casting double %s to string", name_); grib_context_log(
context_, GRIB_LOG_DEBUG, "Casting double %s to string", name_);
return GRIB_SUCCESS; return GRIB_SUCCESS;
} }
} }
@ -224,10 +240,12 @@ int grib_accessor_gen_t::unpack_string(char* v, size_t* len)
size_t l = 1; size_t l = 1;
err = unpack_long(&val, &l); err = unpack_long(&val, &l);
if (is_overridden_[UNPACK_LONG] == 1) { if (is_overridden_[UNPACK_LONG] == 1) {
if (err) return err; if (err)
return err;
snprintf(v, 64, "%ld", val); snprintf(v, 64, "%ld", val);
*len = strlen(v); *len = strlen(v);
grib_context_log(context_, GRIB_LOG_DEBUG, "Casting long %s to string\n", name_); grib_context_log(
context_, GRIB_LOG_DEBUG, "Casting long %s to string\n", name_);
return GRIB_SUCCESS; return GRIB_SUCCESS;
} }
} }
@ -258,6 +276,7 @@ int grib_accessor_gen_t::pack_expression(grib_expression* e)
int ret = 0; int ret = 0;
grib_handle* hand = grib_handle_of_accessor(this); grib_handle* hand = grib_handle_of_accessor(this);
// Use the native type of the expression not the accessor // Use the native type of the expression not the accessor
switch (e->native_type(hand)) { switch (e->native_type(hand)) {
case GRIB_TYPE_LONG: { case GRIB_TYPE_LONG: {
@ -312,7 +331,10 @@ int grib_accessor_gen_t::pack_long(const long* v, size_t* len)
if (is_overridden_[PACK_DOUBLE]) { if (is_overridden_[PACK_DOUBLE]) {
double* val = (double*)grib_context_malloc(c, *len * (sizeof(double))); double* val = (double*)grib_context_malloc(c, *len * (sizeof(double)));
if (!val) { if (!val) {
grib_context_log(c, GRIB_LOG_ERROR, "Unable to allocate %zu bytes", *len * (sizeof(double))); grib_context_log(c,
GRIB_LOG_ERROR,
"Unable to allocate %zu bytes",
*len * (sizeof(double)));
return GRIB_OUT_OF_MEMORY; return GRIB_OUT_OF_MEMORY;
} }
for (size_t i = 0; i < *len; i++) for (size_t i = 0; i < *len; i++)
@ -324,7 +346,8 @@ int grib_accessor_gen_t::pack_long(const long* v, size_t* len)
} }
} }
grib_context_log(c, GRIB_LOG_ERROR, "Should not pack '%s' as an integer", name_); grib_context_log(
c, GRIB_LOG_ERROR, "Should not pack '%s' as an integer", name_);
if (is_overridden_[PACK_STRING]) { if (is_overridden_[PACK_STRING]) {
grib_context_log(c, GRIB_LOG_ERROR, "Try packing as a string"); grib_context_log(c, GRIB_LOG_ERROR, "Try packing as a string");
} }
@ -339,7 +362,8 @@ int pack_double_array_as_long(grib_accessor* a, const double* v, size_t* len)
size_t numBytes = *len * (sizeof(long)); size_t numBytes = *len * (sizeof(long));
long* lValues = (long*)grib_context_malloc(c, numBytes); long* lValues = (long*)grib_context_malloc(c, numBytes);
if (!lValues) { if (!lValues) {
grib_context_log(c, GRIB_LOG_ERROR, "Unable to allocate %ld bytes", numBytes); grib_context_log(
c, GRIB_LOG_ERROR, "Unable to allocate %ld bytes", numBytes);
return GRIB_OUT_OF_MEMORY; return GRIB_OUT_OF_MEMORY;
} }
for (size_t i = 0; i < *len; i++) for (size_t i = 0; i < *len; i++)
@ -359,7 +383,8 @@ int grib_accessor_gen_t::pack_double(const double* v, size_t* len)
return pack_double_array_as_long(this, v, len); return pack_double_array_as_long(this, v, len);
} }
grib_context_log(c, GRIB_LOG_ERROR, "Should not pack '%s' as a double", name_); grib_context_log(
c, GRIB_LOG_ERROR, "Should not pack '%s' as a double", name_);
if (is_overridden_[PACK_STRING]) { if (is_overridden_[PACK_STRING]) {
grib_context_log(c, GRIB_LOG_ERROR, "Try packing as a string"); grib_context_log(c, GRIB_LOG_ERROR, "Try packing as a string");
} }
@ -393,9 +418,13 @@ int grib_accessor_gen_t::pack_string(const char* v, size_t* len)
char* endPtr = NULL; /* for error handling */ char* endPtr = NULL; /* for error handling */
double val = strtod(v, &endPtr); double val = strtod(v, &endPtr);
if (*endPtr) { if (*endPtr) {
grib_context_log(context_, GRIB_LOG_ERROR, grib_context_log(context_,
"%s: Invalid value (%s) for key '%s'. String cannot be converted to a double", GRIB_LOG_ERROR,
__func__, v, name_); "%s: Invalid value (%s) for key '%s'. String cannot be "
"converted to a double",
__func__,
v,
name_);
return GRIB_WRONG_TYPE; return GRIB_WRONG_TYPE;
} }
return pack_double(&val, &l); return pack_double(&val, &l);
@ -410,7 +439,8 @@ int grib_accessor_gen_t::pack_string(const char* v, size_t* len)
} }
} }
grib_context_log(context_, GRIB_LOG_ERROR, "Should not pack '%s' as string", name_); grib_context_log(
context_, GRIB_LOG_ERROR, "Should not pack '%s' as string", name_);
return GRIB_NOT_IMPLEMENTED; return GRIB_NOT_IMPLEMENTED;
} }
@ -418,9 +448,13 @@ int grib_accessor_gen_t::pack_bytes(const unsigned char* val, size_t* len)
{ {
const size_t length = *len; const size_t length = *len;
if (length_ != length) { if (length_ != length) {
grib_context_log(context_, GRIB_LOG_ERROR, grib_context_log(
"pack_bytes: Wrong size (%zu) for %s. It is %ld bytes long", context_,
length, name_, length_); GRIB_LOG_ERROR,
"pack_bytes: Wrong size (%zu) for %s. It is %ld bytes long",
length,
name_,
length_);
return GRIB_BUFFER_TOO_SMALL; return GRIB_BUFFER_TOO_SMALL;
} }
grib_buffer_replace(this, val, length, 1, 1); grib_buffer_replace(this, val, length, 1, 1);
@ -452,8 +486,11 @@ int grib_accessor_gen_t::notify_change(grib_accessor* observed)
void grib_accessor_gen_t::update_size(size_t s) void grib_accessor_gen_t::update_size(size_t s)
{ {
grib_context_log(context_, GRIB_LOG_FATAL, grib_context_log(context_,
"Accessor %s [%s] must implement 'update_size'", name_, class_name_); GRIB_LOG_FATAL,
"Accessor %s [%s] must implement 'update_size'",
name_,
class_name_);
} }
grib_accessor* grib_accessor_gen_t::next_accessor() grib_accessor* grib_accessor_gen_t::next_accessor()
@ -500,7 +537,11 @@ int grib_accessor_gen_t::is_missing()
if (flags_ & GRIB_ACCESSOR_FLAG_TRANSIENT) { if (flags_ & GRIB_ACCESSOR_FLAG_TRANSIENT) {
if (vvalue_ == NULL) { if (vvalue_ == NULL) {
grib_context_log(context_, GRIB_LOG_ERROR, "%s internal error (flags=0x%lX)", name_, flags_); grib_context_log(context_,
GRIB_LOG_ERROR,
"%s internal error (flags=0x%lX)",
name_,
flags_);
Assert(!"grib_accessor_gen_t::is_missing(): vvalue == NULL"); Assert(!"grib_accessor_gen_t::is_missing(): vvalue == NULL");
return 0; return 0;
} }
@ -526,12 +567,16 @@ int grib_accessor_gen_t::unpack_double_element(size_t i, double* val)
return GRIB_NOT_IMPLEMENTED; return GRIB_NOT_IMPLEMENTED;
} }
int grib_accessor_gen_t::unpack_double_element_set(const size_t* index_array, size_t len, double* val_array) int grib_accessor_gen_t::unpack_double_element_set(const size_t* index_array,
size_t len,
double* val_array)
{ {
return GRIB_NOT_IMPLEMENTED; return GRIB_NOT_IMPLEMENTED;
} }
int grib_accessor_gen_t::unpack_double_subarray(double* val, size_t start, size_t len) int grib_accessor_gen_t::unpack_double_subarray(double* val,
size_t start,
size_t len)
{ {
return GRIB_NOT_IMPLEMENTED; return GRIB_NOT_IMPLEMENTED;
} }
@ -554,9 +599,7 @@ long grib_accessor_gen_t::get_next_position_offset()
return next_offset(); return next_offset();
} }
grib_accessor_gen_t::~grib_accessor_gen_t() grib_accessor_gen_t::~grib_accessor_gen_t() {}
{
}
void grib_accessor_gen_t::post_init() void grib_accessor_gen_t::post_init()
{ {
@ -576,17 +619,23 @@ void grib_accessor_gen_t::resize(size_t)
} }
int grib_accessor_gen_t::nearest_smaller_value(double, double*) int grib_accessor_gen_t::nearest_smaller_value(double, double*)
{ {
throw std::runtime_error("grib_accessor_gen_t::nearest_smaller_value not implemented"); throw std::runtime_error(
"grib_accessor_gen_t::nearest_smaller_value not implemented");
} }
int grib_accessor_gen_t::unpack_float_element(size_t, float*) int grib_accessor_gen_t::unpack_float_element(size_t, float*)
{ {
throw std::runtime_error("grib_accessor_gen_t::unpack_float_element not implemented"); throw std::runtime_error(
"grib_accessor_gen_t::unpack_float_element not implemented");
} }
int unpack_element_set(const size_t*, size_t, double*) int unpack_element_set(const size_t*, size_t, double*)
{ {
throw std::runtime_error("grib_accessor_gen_t::unpack_element_set not implemented"); throw std::runtime_error(
"grib_accessor_gen_t::unpack_element_set not implemented");
} }
int grib_accessor_gen_t::unpack_float_element_set(const size_t*, size_t, float*) int grib_accessor_gen_t::unpack_float_element_set(const size_t*,
size_t,
float*)
{ {
throw std::runtime_error("grib_accessor_gen_t::unpack_float_element_set not implemented"); throw std::runtime_error(
"grib_accessor_gen_t::unpack_float_element_set not implemented");
} }

View File

@ -12,6 +12,7 @@
#include "grib_api_internal.h" #include "grib_api_internal.h"
#include "grib_accessor.h" #include "grib_accessor.h"
#include "grib_value.h"
#include <bitset> #include <bitset>
@ -49,7 +50,7 @@ public:
long next_offset() override; long next_offset() override;
int value_count(long*) override; int value_count(long*) override;
void destroy(grib_context*) override; void destroy(grib_context*) override;
void dump(grib_dumper*) override; void dump(eccodes::Dumper*) override;
void init(const long, grib_arguments*) override; void init(const long, grib_arguments*) override;
void post_init() override; void post_init() override;
int notify_change(grib_accessor* changed) override; int notify_change(grib_accessor* changed) override;

View File

@ -61,9 +61,9 @@ size_t grib_accessor_group_t::string_length()
return length_; return length_;
} }
void grib_accessor_group_t::dump(grib_dumper* dumper) void grib_accessor_group_t::dump(eccodes::Dumper* dumper)
{ {
grib_dump_string(dumper, this, NULL); dumper->dump_string(this, NULL);
} }
long grib_accessor_group_t::get_native_type() long grib_accessor_group_t::get_native_type()

View File

@ -25,7 +25,7 @@ public:
size_t string_length() override; size_t string_length() override;
long next_offset() override; long next_offset() override;
int value_count(long*) override; int value_count(long*) override;
void dump(grib_dumper*) override; void dump(eccodes::Dumper*) override;
void init(const long, grib_arguments*) override; void init(const long, grib_arguments*) override;
int compare(grib_accessor*) override; int compare(grib_accessor*) override;

View File

@ -23,9 +23,9 @@ void grib_accessor_hash_array_t::init(const long len, grib_arguments* args)
ha_ = NULL; ha_ = NULL;
} }
void grib_accessor_hash_array_t::dump(grib_dumper* dumper) void grib_accessor_hash_array_t::dump(eccodes::Dumper* dumper)
{ {
grib_dump_string(dumper, this, NULL); dumper->dump_string(this, NULL);
} }
int grib_accessor_hash_array_t::pack_double(const double* val, size_t* len) int grib_accessor_hash_array_t::pack_double(const double* val, size_t* len)

View File

@ -28,7 +28,7 @@ public:
size_t string_length() override; size_t string_length() override;
int value_count(long*) override; int value_count(long*) override;
void destroy(grib_context*) override; void destroy(grib_context*) override;
void dump(grib_dumper*) override; void dump(eccodes::Dumper*) override;
void init(const long, grib_arguments*) override; void init(const long, grib_arguments*) override;
int compare(grib_accessor*) override; int compare(grib_accessor*) override;

View File

@ -19,8 +19,8 @@ void grib_accessor_iterator_t::init(const long l, grib_arguments* args)
args_ = args; args_ = args;
} }
void grib_accessor_iterator_t::dump(grib_dumper* dumper) void grib_accessor_iterator_t::dump(eccodes::Dumper* dumper)
{ {
/* TODO: pass args */ /* TODO: pass args */
grib_dump_label(dumper, this, NULL); dumper->dump_label(this, NULL);
} }

View File

@ -20,7 +20,7 @@ public:
grib_accessor_gen_t() { class_name_ = "iterator"; } grib_accessor_gen_t() { class_name_ = "iterator"; }
grib_accessor* create_empty_accessor() override { return new grib_accessor_iterator_t{}; } grib_accessor* create_empty_accessor() override { return new grib_accessor_iterator_t{}; }
void init(const long l, grib_arguments* args) override; void init(const long l, grib_arguments* args) override;
void dump(grib_dumper* dumper) override; void dump(eccodes::Dumper* dumper) override;
private: private:
grib_arguments* args_ = nullptr; grib_arguments* args_ = nullptr;

View File

@ -48,9 +48,9 @@ void grib_accessor_julian_date_t::init(const long l, grib_arguments* c)
length_ = 0; length_ = 0;
} }
void grib_accessor_julian_date_t::dump(grib_dumper* dumper) void grib_accessor_julian_date_t::dump(eccodes::Dumper* dumper)
{ {
grib_dump_string(dumper, this, NULL); dumper->dump_string(this, NULL);
} }
int grib_accessor_julian_date_t::unpack_double(double* val, size_t* len) int grib_accessor_julian_date_t::unpack_double(double* val, size_t* len)

View File

@ -25,7 +25,7 @@ public:
int unpack_double(double* val, size_t* len) override; int unpack_double(double* val, size_t* len) override;
int unpack_long(long* val, size_t* len) override; int unpack_long(long* val, size_t* len) override;
int unpack_string(char*, size_t* len) override; int unpack_string(char*, size_t* len) override;
void dump(grib_dumper*) override; void dump(eccodes::Dumper*) override;
void init(const long, grib_arguments*) override; void init(const long, grib_arguments*) override;
private: private:

View File

@ -27,9 +27,9 @@ void grib_accessor_julian_day_t::init(const long l, grib_arguments* c)
length_ = 0; length_ = 0;
} }
void grib_accessor_julian_day_t::dump(grib_dumper* dumper) void grib_accessor_julian_day_t::dump(eccodes::Dumper* dumper)
{ {
grib_dump_string(dumper, this, NULL); dumper->dump_string(this, NULL);
} }
int grib_accessor_julian_day_t::pack_long(const long* val, size_t* len) int grib_accessor_julian_day_t::pack_long(const long* val, size_t* len)

View File

@ -22,7 +22,7 @@ public:
int pack_long(const long* val, size_t* len) override; int pack_long(const long* val, size_t* len) override;
int unpack_double(double* val, size_t* len) override; int unpack_double(double* val, size_t* len) override;
int unpack_long(long* val, size_t* len) override; int unpack_long(long* val, size_t* len) override;
void dump(grib_dumper*) override; void dump(eccodes::Dumper*) override;
void init(const long, grib_arguments*) override; void init(const long, grib_arguments*) override;
private: private:

View File

@ -21,9 +21,9 @@ void grib_accessor_label_t::init(const long len, grib_arguments* arg)
length_ = 0; length_ = 0;
} }
void grib_accessor_label_t::dump(grib_dumper* dumper) void grib_accessor_label_t::dump(eccodes::Dumper* dumper)
{ {
grib_dump_label(dumper, this, NULL); dumper->dump_label(this, NULL);
} }
long grib_accessor_label_t::get_native_type() long grib_accessor_label_t::get_native_type()

View File

@ -20,6 +20,6 @@ public:
grib_accessor* create_empty_accessor() override { return new grib_accessor_label_t{}; } grib_accessor* create_empty_accessor() override { return new grib_accessor_label_t{}; }
long get_native_type() override; long get_native_type() override;
int unpack_string(char*, size_t* len) override; int unpack_string(char*, size_t* len) override;
void dump(grib_dumper*) override; void dump(eccodes::Dumper*) override;
void init(const long, grib_arguments*) override; void init(const long, grib_arguments*) override;
}; };

View File

@ -23,9 +23,9 @@ long grib_accessor_long_t::get_native_type()
return GRIB_TYPE_LONG; return GRIB_TYPE_LONG;
} }
void grib_accessor_long_t::dump(grib_dumper* dumper) void grib_accessor_long_t::dump(eccodes::Dumper* dumper)
{ {
grib_dump_long(dumper, this, NULL); dumper->dump_long(this, NULL);
} }
int grib_accessor_long_t::unpack_string(char* v, size_t* len) int grib_accessor_long_t::unpack_string(char* v, size_t* len)

View File

@ -24,6 +24,6 @@ public:
int pack_string(const char*, size_t* len) override; int pack_string(const char*, size_t* len) override;
int unpack_double(double* val, size_t* len) override; int unpack_double(double* val, size_t* len) override;
int unpack_string(char*, size_t* len) override; int unpack_string(char*, size_t* len) override;
void dump(grib_dumper*) override; void dump(eccodes::Dumper*) override;
int compare(grib_accessor*) override; int compare(grib_accessor*) override;
}; };

View File

@ -30,7 +30,7 @@ void grib_accessor_lookup_t::post_init()
} }
} }
void grib_accessor_lookup_t::dump(grib_dumper* dumper) void grib_accessor_lookup_t::dump(eccodes::Dumper* dumper)
{ {
unsigned char bytes[1024] = {0,}; unsigned char bytes[1024] = {0,};
char msg[1024] = {0,}; char msg[1024] = {0,};
@ -50,7 +50,7 @@ void grib_accessor_lookup_t::dump(grib_dumper* dumper)
snprintf(buf, sizeof(buf), "%s %lu %ld-%ld", msg, v, (long)offset_ + loffset_, (long)llength_); snprintf(buf, sizeof(buf), "%s %lu %ld-%ld", msg, v, (long)offset_ + loffset_, (long)llength_);
grib_dump_long(dumper, this, buf); dumper->dump_long(this, buf);
} }
int grib_accessor_lookup_t::unpack_string(char* v, size_t* len) int grib_accessor_lookup_t::unpack_string(char* v, size_t* len)

View File

@ -23,7 +23,7 @@ public:
int unpack_string(char*, size_t* len) override; int unpack_string(char*, size_t* len) override;
long byte_count() override; long byte_count() override;
long byte_offset() override; long byte_offset() override;
void dump(grib_dumper*) override; void dump(eccodes::Dumper*) override;
void init(const long, grib_arguments*) override; void init(const long, grib_arguments*) override;
void post_init() override; void post_init() override;
int notify_change(grib_accessor*) override; int notify_change(grib_accessor*) override;

View File

@ -20,9 +20,9 @@ void grib_accessor_message_copy_t::init(const long length, grib_arguments* args)
length_ = 0; length_ = 0;
} }
void grib_accessor_message_copy_t::dump(grib_dumper* dumper) void grib_accessor_message_copy_t::dump(eccodes::Dumper* dumper)
{ {
grib_dump_string(dumper, this, NULL); dumper->dump_string(this, NULL);
} }
long grib_accessor_message_copy_t::get_native_type() long grib_accessor_message_copy_t::get_native_type()

View File

@ -22,6 +22,6 @@ public:
int unpack_string(char*, size_t* len) override; int unpack_string(char*, size_t* len) override;
size_t string_length() override; size_t string_length() override;
long byte_count() override; long byte_count() override;
void dump(grib_dumper*) override; void dump(eccodes::Dumper*) override;
void init(const long, grib_arguments*) override; void init(const long, grib_arguments*) override;
}; };

View File

@ -19,9 +19,9 @@ void grib_accessor_nearest_t::init(const long l, grib_arguments* args)
args_ = args; args_ = args;
} }
void grib_accessor_nearest_t::dump(grib_dumper* dumper) void grib_accessor_nearest_t::dump(eccodes::Dumper* dumper)
{ {
/* TODO: pass args */ /* TODO: pass args */
grib_dump_label(dumper, this, NULL); dumper->dump_label(this, NULL);
} }

View File

@ -20,7 +20,7 @@ public:
grib_accessor_gen_t() { class_name_ = "nearest"; } grib_accessor_gen_t() { class_name_ = "nearest"; }
grib_accessor* create_empty_accessor() override { return new grib_accessor_nearest_t{}; } grib_accessor* create_empty_accessor() override { return new grib_accessor_nearest_t{}; }
void init(const long l, grib_arguments* args) override; void init(const long l, grib_arguments* args) override;
void dump(grib_dumper* dumper) override; void dump(eccodes::Dumper* dumper) override;
private: private:
grib_arguments* args_ = nullptr; grib_arguments* args_ = nullptr;

View File

@ -39,9 +39,9 @@ size_t grib_accessor_non_alpha_t::string_length()
return length_; return length_;
} }
void grib_accessor_non_alpha_t::dump(grib_dumper* dumper) void grib_accessor_non_alpha_t::dump(eccodes::Dumper* dumper)
{ {
grib_dump_string(dumper, this, NULL); dumper->dump_string(this, NULL);
} }
long grib_accessor_non_alpha_t::get_native_type() long grib_accessor_non_alpha_t::get_native_type()

View File

@ -26,6 +26,6 @@ public:
size_t string_length() override; size_t string_length() override;
long next_offset() override; long next_offset() override;
int value_count(long*) override; int value_count(long*) override;
void dump(grib_dumper*) override; void dump(eccodes::Dumper*) override;
void init(const long, grib_arguments*) override; void init(const long, grib_arguments*) override;
}; };

View File

@ -29,9 +29,9 @@ void grib_accessor_optimal_step_units_t::init(const long l, grib_arguments* c)
overwriteStepUnits_ = eccodes::Unit{ eccodes::Unit::Value::MISSING }.value<long>(); overwriteStepUnits_ = eccodes::Unit{ eccodes::Unit::Value::MISSING }.value<long>();
} }
void grib_accessor_optimal_step_units_t::dump(grib_dumper* dumper) void grib_accessor_optimal_step_units_t::dump(eccodes::Dumper* dumper)
{ {
grib_dump_string(dumper, this, NULL); dumper->dump_string(this, NULL);
} }
size_t grib_accessor_optimal_step_units_t::string_length() size_t grib_accessor_optimal_step_units_t::string_length()

View File

@ -26,7 +26,7 @@ public:
int unpack_long(long* val, size_t* len) override; int unpack_long(long* val, size_t* len) override;
int unpack_string(char*, size_t* len) override; int unpack_string(char*, size_t* len) override;
size_t string_length() override; size_t string_length() override;
void dump(grib_dumper*) override; void dump(eccodes::Dumper*) override;
void init(const long, grib_arguments*) override; void init(const long, grib_arguments*) override;
private: private:

View File

@ -23,7 +23,7 @@ void grib_accessor_pack_bufr_values_t::init(const long len, grib_arguments* para
length_ = 0; length_ = 0;
} }
void grib_accessor_pack_bufr_values_t::dump(grib_dumper* dumper) void grib_accessor_pack_bufr_values_t::dump(eccodes::Dumper* dumper)
{ {
} }

View File

@ -27,7 +27,7 @@ public:
int unpack_string_array(char**, size_t* len) override; int unpack_string_array(char**, size_t* len) override;
int value_count(long*) override; int value_count(long*) override;
void destroy(grib_context*) override; void destroy(grib_context*) override;
void dump(grib_dumper*) override; void dump(eccodes::Dumper*) override;
void init(const long, grib_arguments*) override; void init(const long, grib_arguments*) override;
private: private:

View File

@ -35,7 +35,7 @@ void grib_accessor_padto_t::init(const long len, grib_arguments* arg)
length_ = preferred_size(1); length_ = preferred_size(1);
} }
void grib_accessor_padto_t::dump(grib_dumper* dumper) void grib_accessor_padto_t::dump(eccodes::Dumper* dumper)
{ {
/*grib_dump_string(dumper,a,NULL);*/ /*dumper->dump_string(a,NULL);*/
} }

View File

@ -18,7 +18,7 @@ public:
grib_accessor_padto_t() : grib_accessor_padto_t() :
grib_accessor_padding_t() { class_name_ = "padto"; } grib_accessor_padding_t() { class_name_ = "padto"; }
grib_accessor* create_empty_accessor() override { return new grib_accessor_padto_t{}; } grib_accessor* create_empty_accessor() override { return new grib_accessor_padto_t{}; }
void dump(grib_dumper*) override; void dump(eccodes::Dumper*) override;
void init(const long, grib_arguments*) override; void init(const long, grib_arguments*) override;
size_t preferred_size(int) override; size_t preferred_size(int) override;

View File

@ -28,9 +28,9 @@ long grib_accessor_position_t::get_native_type()
return GRIB_TYPE_LONG; return GRIB_TYPE_LONG;
} }
void grib_accessor_position_t::dump(grib_dumper* dumper) void grib_accessor_position_t::dump(eccodes::Dumper* dumper)
{ {
grib_dump_long(dumper, this, NULL); dumper->dump_long(this, NULL);
} }
int grib_accessor_position_t::unpack_long(long* val, size_t* len) int grib_accessor_position_t::unpack_long(long* val, size_t* len)

View File

@ -21,6 +21,6 @@ public:
grib_accessor* create_empty_accessor() override { return new grib_accessor_position_t{}; } grib_accessor* create_empty_accessor() override { return new grib_accessor_position_t{}; }
long get_native_type() override; long get_native_type() override;
int unpack_long(long* val, size_t* len) override; int unpack_long(long* val, size_t* len) override;
void dump(grib_dumper*) override; void dump(eccodes::Dumper*) override;
void init(const long, grib_arguments*) override; void init(const long, grib_arguments*) override;
}; };

View File

@ -24,7 +24,7 @@ void grib_accessor_round_t::destroy(grib_context* c)
grib_accessor_evaluate_t::destroy(c); grib_accessor_evaluate_t::destroy(c);
} }
void grib_accessor_round_t::dump(grib_dumper* dumper) void grib_accessor_round_t::dump(eccodes::Dumper* dumper)
{ {
grib_accessor_evaluate_t::dump(dumper); grib_accessor_evaluate_t::dump(dumper);
} }

View File

@ -22,5 +22,5 @@ public:
int unpack_string(char*, size_t* len) override; int unpack_string(char*, size_t* len) override;
void init(const long, grib_arguments*) override; void init(const long, grib_arguments*) override;
void destroy(grib_context*) override; void destroy(grib_context*) override;
void dump(grib_dumper*) override; void dump(eccodes::Dumper*) override;
}; };

View File

@ -21,9 +21,9 @@ void grib_accessor_section_t::init(const long len, grib_arguments* arg)
flags_ |= GRIB_ACCESSOR_FLAG_READ_ONLY; flags_ |= GRIB_ACCESSOR_FLAG_READ_ONLY;
} }
void grib_accessor_section_t::dump(grib_dumper* dumper) void grib_accessor_section_t::dump(eccodes::Dumper* dumper)
{ {
grib_dump_section(dumper, this, sub_section_->block); dumper->dump_section(this, sub_section_->block);
} }
long grib_accessor_section_t::byte_count() long grib_accessor_section_t::byte_count()

View File

@ -22,7 +22,7 @@ public:
long byte_count() override; long byte_count() override;
long next_offset() override; long next_offset() override;
void destroy(grib_context*) override; void destroy(grib_context*) override;
void dump(grib_dumper*) override; void dump(eccodes::Dumper*) override;
void init(const long, grib_arguments*) override; void init(const long, grib_arguments*) override;
void update_size(size_t) override; void update_size(size_t) override;
grib_section* sub_section() override; grib_section* sub_section() override;

View File

@ -23,9 +23,9 @@ void grib_accessor_section_length_t::init(const long len, grib_arguments* arg)
Assert(length_ >= 0); Assert(length_ >= 0);
} }
void grib_accessor_section_length_t::dump(grib_dumper* dumper) void grib_accessor_section_length_t::dump(eccodes::Dumper* dumper)
{ {
grib_dump_long(dumper, this, NULL); dumper->dump_long(this, NULL);
} }
int grib_accessor_section_length_t::value_count(long* c) int grib_accessor_section_length_t::value_count(long* c)

View File

@ -19,6 +19,6 @@ public:
grib_accessor_unsigned_t() { class_name_ = "section_length"; } grib_accessor_unsigned_t() { class_name_ = "section_length"; }
grib_accessor* create_empty_accessor() override { return new grib_accessor_section_length_t{}; } grib_accessor* create_empty_accessor() override { return new grib_accessor_section_length_t{}; }
int value_count(long*) override; int value_count(long*) override;
void dump(grib_dumper*) override; void dump(eccodes::Dumper*) override;
void init(const long, grib_arguments*) override; void init(const long, grib_arguments*) override;
}; };

View File

@ -19,9 +19,9 @@ void grib_accessor_sexagesimal2decimal_t::init(const long len, grib_arguments* a
flags_ |= GRIB_ACCESSOR_FLAG_READ_ONLY; flags_ |= GRIB_ACCESSOR_FLAG_READ_ONLY;
} }
void grib_accessor_sexagesimal2decimal_t::dump(grib_dumper* dumper) void grib_accessor_sexagesimal2decimal_t::dump(eccodes::Dumper* dumper)
{ {
grib_dump_double(dumper, this, NULL); dumper->dump_double(this, NULL);
} }
long grib_accessor_sexagesimal2decimal_t::get_native_type() long grib_accessor_sexagesimal2decimal_t::get_native_type()

View File

@ -20,6 +20,6 @@ public:
grib_accessor* create_empty_accessor() override { return new grib_accessor_sexagesimal2decimal_t{}; } grib_accessor* create_empty_accessor() override { return new grib_accessor_sexagesimal2decimal_t{}; }
long get_native_type() override; long get_native_type() override;
int unpack_string(char*, size_t* len) override; int unpack_string(char*, size_t* len) override;
void dump(grib_dumper*) override; void dump(eccodes::Dumper*) override;
void init(const long, grib_arguments*) override; void init(const long, grib_arguments*) override;
}; };

View File

@ -27,14 +27,14 @@ void grib_accessor_signed_t::init(const long len, grib_arguments* arg)
Assert(length_ >= 0); Assert(length_ >= 0);
} }
void grib_accessor_signed_t::dump(grib_dumper* dumper) void grib_accessor_signed_t::dump(eccodes::Dumper* dumper)
{ {
long rlen = 0; long rlen = 0;
value_count(&rlen); value_count(&rlen);
if (rlen == 1) if (rlen == 1)
grib_dump_long(dumper, this, NULL); dumper->dump_long(this, NULL);
else else
grib_dump_values(dumper, this); dumper->dump_values(this);
} }
static const long ones[] = { static const long ones[] = {

View File

@ -25,7 +25,7 @@ public:
long byte_offset() override; long byte_offset() override;
long next_offset() override; long next_offset() override;
int value_count(long*) override; int value_count(long*) override;
void dump(grib_dumper*) override; void dump(eccodes::Dumper*) override;
void init(const long, grib_arguments*) override; void init(const long, grib_arguments*) override;
void update_size(size_t) override; void update_size(size_t) override;

View File

@ -277,9 +277,9 @@ void grib_smart_table_delete(grib_context* c)
} }
} }
void grib_accessor_smart_table_t::dump(grib_dumper* dumper) void grib_accessor_smart_table_t::dump(eccodes::Dumper* dumper)
{ {
grib_dump_long(dumper, this, NULL); dumper->dump_long(this, NULL);
} }
int grib_accessor_smart_table_t::unpack_string(char* buffer, size_t* len) int grib_accessor_smart_table_t::unpack_string(char* buffer, size_t* len)

View File

@ -24,7 +24,7 @@ public:
int unpack_string(char*, size_t* len) override; int unpack_string(char*, size_t* len) override;
int value_count(long*) override; int value_count(long*) override;
void destroy(grib_context*) override; void destroy(grib_context*) override;
void dump(grib_dumper*) override; void dump(eccodes::Dumper*) override;
void init(const long, grib_arguments*) override; void init(const long, grib_arguments*) override;
grib_smart_table* smarttable() const { return table_; } grib_smart_table* smarttable() const { return table_; }

Some files were not shown because too many files have changed in this diff Show More