Merge branch 'develop' into CppCheckWarnings

This commit is contained in:
Shahram Najm 2021-11-06 17:01:53 +00:00
commit cf796ed5ae
26 changed files with 1583 additions and 1286 deletions

View File

@ -1625,6 +1625,282 @@
parameterCategory = 19 ;
parameterNumber = 234 ;
}
#Simulated Brightness Temperature for AMSRE on Aqua, Channel 10
'Simulated Brightness Temperature for AMSRE on Aqua, Channel 10' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 11 ;
}
#Simulated Brightness Temperature for AMSRE on Aqua, Channel 11
'Simulated Brightness Temperature for AMSRE on Aqua, Channel 11' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 12 ;
}
#Simulated Brightness Temperature for AMSRE on Aqua, Channel 12
'Simulated Brightness Temperature for AMSRE on Aqua, Channel 12' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 13 ;
}
#Simulated Brightness Temperature for AMSRE on Aqua, Channel 9
'Simulated Brightness Temperature for AMSRE on Aqua, Channel 9' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 10 ;
}
#Simulated Brightness Counts for GOES 12, Channel 3
'Simulated Brightness Counts for GOES 12, Channel 3' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 4 ;
}
#Simulated Brightness Counts for GOES 12, Channel 4
'Simulated Brightness Counts for GOES 12, Channel 4' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 5 ;
}
#Simulated Brightness Temperature for GOES 11, Channel 2
'Simulated Brightness Temperature for GOES 11, Channel 2' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 6 ;
}
#Simulated Brightness Temperature for GOES 11, Channel 3
'Simulated Brightness Temperature for GOES 11, Channel 3' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 7 ;
}
#Simulated Brightness Temperature for GOES 11, Channel 4
'Simulated Brightness Temperature for GOES 11, Channel 4' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 8 ;
}
#Simulated Brightness Temperature for GOES 11, Channel 5
'Simulated Brightness Temperature for GOES 11, Channel 5' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 9 ;
}
#Simulated Brightness Temperature for GOES 12, Channel 2
'Simulated Brightness Temperature for GOES 12, Channel 2' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 0 ;
}
#Simulated Brightness Temperature for GOES 12, Channel 3
'Simulated Brightness Temperature for GOES 12, Channel 3' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 1 ;
}
#Simulated Brightness Temperature for GOES 12, Channel 4
'Simulated Brightness Temperature for GOES 12, Channel 4' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 2 ;
}
#Simulated Brightness Temperature for GOES 12, Channel 6
'Simulated Brightness Temperature for GOES 12, Channel 6' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 3 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-10
'Simulated Brightness Temperature for ABI GOES-16, Band-10' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 23 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-11
'Simulated Brightness Temperature for ABI GOES-16, Band-11' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 24 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-12
'Simulated Brightness Temperature for ABI GOES-16, Band-12' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 25 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-13
'Simulated Brightness Temperature for ABI GOES-16, Band-13' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 26 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-14
'Simulated Brightness Temperature for ABI GOES-16, Band-14' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 27 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-15
'Simulated Brightness Temperature for ABI GOES-16, Band-15' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 28 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-16
'Simulated Brightness Temperature for ABI GOES-16, Band-16' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 29 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-7
'Simulated Brightness Temperature for ABI GOES-16, Band-7' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 20 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-8
'Simulated Brightness Temperature for ABI GOES-16, Band-8' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 21 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-9
'Simulated Brightness Temperature for ABI GOES-16, Band-9' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 22 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-10
'Simulated Brightness Temperature for ABI GOES-17, Band-10' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 39 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-11
'Simulated Brightness Temperature for ABI GOES-17, Band-11' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 40 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-12
'Simulated Brightness Temperature for ABI GOES-17, Band-12' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 41 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-13
'Simulated Brightness Temperature for ABI GOES-17, Band-13' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 42 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-14
'Simulated Brightness Temperature for ABI GOES-17, Band-14' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 43 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-15
'Simulated Brightness Temperature for ABI GOES-17, Band-15' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 44 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-16
'Simulated Brightness Temperature for ABI GOES-17, Band-16' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 45 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-7
'Simulated Brightness Temperature for ABI GOES-17, Band-7' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 36 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-8
'Simulated Brightness Temperature for ABI GOES-17, Band-8' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 37 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-9
'Simulated Brightness Temperature for ABI GOES-17, Band-9' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 38 ;
}
#Simulated Reflectance Factor for ABI GOES-16, Band-1
'Simulated Reflectance Factor for ABI GOES-16, Band-1' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 14 ;
}
#Simulated Reflectance Factor for ABI GOES-16, Band-2
'Simulated Reflectance Factor for ABI GOES-16, Band-2' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 15 ;
}
#Simulated Reflectance Factor for ABI GOES-16, Band-3
'Simulated Reflectance Factor for ABI GOES-16, Band-3' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 16 ;
}
#Simulated Reflectance Factor for ABI GOES-16, Band-4
'Simulated Reflectance Factor for ABI GOES-16, Band-4' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 17 ;
}
#Simulated Reflectance Factor for ABI GOES-16, Band-5
'Simulated Reflectance Factor for ABI GOES-16, Band-5' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 18 ;
}
#Simulated Reflectance Factor for ABI GOES-16, Band-6
'Simulated Reflectance Factor for ABI GOES-16, Band-6' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 19 ;
}
#Simulated Reflectance Factor for ABI GOES-17, Band-1
'Simulated Reflectance Factor for ABI GOES-17, Band-1' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 30 ;
}
#Simulated Reflectance Factor for ABI GOES-17, Band-2
'Simulated Reflectance Factor for ABI GOES-17, Band-2' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 31 ;
}
#Simulated Reflectance Factor for ABI GOES-17, Band-3
'Simulated Reflectance Factor for ABI GOES-17, Band-3' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 32 ;
}
#Simulated Reflectance Factor for ABI GOES-17, Band-4
'Simulated Reflectance Factor for ABI GOES-17, Band-4' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 33 ;
}
#Simulated Reflectance Factor for ABI GOES-17, Band-5
'Simulated Reflectance Factor for ABI GOES-17, Band-5' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 34 ;
}
#Simulated Reflectance Factor for ABI GOES-17, Band-6
'Simulated Reflectance Factor for ABI GOES-17, Band-6' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 35 ;
}
#Ventilation Rate
'Ventilation Rate' = {
discipline = 0 ;
@ -1649,279 +1925,3 @@
parameterCategory = 1 ;
parameterNumber = 8 ;
}
#Simulated Brightness Temperature for AMSRE on Aqua, Channel 10
'Simulated Brightness Temperature for AMSRE on Aqua, Channel 10' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 11 ;
}
#Simulated Brightness Temperature for AMSRE on Aqua, Channel 11
'Simulated Brightness Temperature for AMSRE on Aqua, Channel 11' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 12 ;
}
#Simulated Brightness Temperature for AMSRE on Aqua, Channel 12
'Simulated Brightness Temperature for AMSRE on Aqua, Channel 12' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 13 ;
}
#Simulated Brightness Temperature for AMSRE on Aqua, Channel 9
'Simulated Brightness Temperature for AMSRE on Aqua, Channel 9' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 10 ;
}
#Simulated Brightness Counts for GOES 12, Channel 3
'Simulated Brightness Counts for GOES 12, Channel 3' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 4 ;
}
#Simulated Brightness Counts for GOES 12, Channel 4
'Simulated Brightness Counts for GOES 12, Channel 4' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 5 ;
}
#Simulated Brightness Temperature for GOES 11, Channel 2
'Simulated Brightness Temperature for GOES 11, Channel 2' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 6 ;
}
#Simulated Brightness Temperature for GOES 11, Channel 3
'Simulated Brightness Temperature for GOES 11, Channel 3' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 7 ;
}
#Simulated Brightness Temperature for GOES 11, Channel 4
'Simulated Brightness Temperature for GOES 11, Channel 4' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 8 ;
}
#Simulated Brightness Temperature for GOES 11, Channel 5
'Simulated Brightness Temperature for GOES 11, Channel 5' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 9 ;
}
#Simulated Brightness Temperature for GOES 12, Channel 2
'Simulated Brightness Temperature for GOES 12, Channel 2' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 0 ;
}
#Simulated Brightness Temperature for GOES 12, Channel 3
'Simulated Brightness Temperature for GOES 12, Channel 3' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 1 ;
}
#Simulated Brightness Temperature for GOES 12, Channel 4
'Simulated Brightness Temperature for GOES 12, Channel 4' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 2 ;
}
#Simulated Brightness Temperature for GOES 12, Channel 6
'Simulated Brightness Temperature for GOES 12, Channel 6' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 3 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-10
'Simulated Brightness Temperature for ABI GOES-16, Band-10' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 23 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-11
'Simulated Brightness Temperature for ABI GOES-16, Band-11' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 24 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-12
'Simulated Brightness Temperature for ABI GOES-16, Band-12' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 25 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-13
'Simulated Brightness Temperature for ABI GOES-16, Band-13' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 26 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-14
'Simulated Brightness Temperature for ABI GOES-16, Band-14' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 27 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-15
'Simulated Brightness Temperature for ABI GOES-16, Band-15' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 28 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-16
'Simulated Brightness Temperature for ABI GOES-16, Band-16' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 29 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-7
'Simulated Brightness Temperature for ABI GOES-16, Band-7' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 20 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-8
'Simulated Brightness Temperature for ABI GOES-16, Band-8' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 21 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-9
'Simulated Brightness Temperature for ABI GOES-16, Band-9' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 22 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-10
'Simulated Brightness Temperature for ABI GOES-17, Band-10' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 39 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-11
'Simulated Brightness Temperature for ABI GOES-17, Band-11' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 40 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-12
'Simulated Brightness Temperature for ABI GOES-17, Band-12' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 41 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-13
'Simulated Brightness Temperature for ABI GOES-17, Band-13' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 42 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-14
'Simulated Brightness Temperature for ABI GOES-17, Band-14' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 43 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-15
'Simulated Brightness Temperature for ABI GOES-17, Band-15' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 44 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-16
'Simulated Brightness Temperature for ABI GOES-17, Band-16' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 45 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-7
'Simulated Brightness Temperature for ABI GOES-17, Band-7' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 36 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-8
'Simulated Brightness Temperature for ABI GOES-17, Band-8' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 37 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-9
'Simulated Brightness Temperature for ABI GOES-17, Band-9' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 38 ;
}
#Simulated Reflectance Factor for ABI GOES-16, Band-1
'Simulated Reflectance Factor for ABI GOES-16, Band-1' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 14 ;
}
#Simulated Reflectance Factor for ABI GOES-16, Band-2
'Simulated Reflectance Factor for ABI GOES-16, Band-2' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 15 ;
}
#Simulated Reflectance Factor for ABI GOES-16, Band-3
'Simulated Reflectance Factor for ABI GOES-16, Band-3' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 16 ;
}
#Simulated Reflectance Factor for ABI GOES-16, Band-4
'Simulated Reflectance Factor for ABI GOES-16, Band-4' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 17 ;
}
#Simulated Reflectance Factor for ABI GOES-16, Band-5
'Simulated Reflectance Factor for ABI GOES-16, Band-5' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 18 ;
}
#Simulated Reflectance Factor for ABI GOES-16, Band-6
'Simulated Reflectance Factor for ABI GOES-16, Band-6' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 19 ;
}
#Simulated Reflectance Factor for ABI GOES-17, Band-1
'Simulated Reflectance Factor for ABI GOES-17, Band-1' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 30 ;
}
#Simulated Reflectance Factor for ABI GOES-17, Band-2
'Simulated Reflectance Factor for ABI GOES-17, Band-2' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 31 ;
}
#Simulated Reflectance Factor for ABI GOES-17, Band-3
'Simulated Reflectance Factor for ABI GOES-17, Band-3' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 32 ;
}
#Simulated Reflectance Factor for ABI GOES-17, Band-4
'Simulated Reflectance Factor for ABI GOES-17, Band-4' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 33 ;
}
#Simulated Reflectance Factor for ABI GOES-17, Band-5
'Simulated Reflectance Factor for ABI GOES-17, Band-5' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 34 ;
}
#Simulated Reflectance Factor for ABI GOES-17, Band-6
'Simulated Reflectance Factor for ABI GOES-17, Band-6' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 35 ;
}

View File

@ -1625,6 +1625,282 @@
parameterCategory = 19 ;
parameterNumber = 234 ;
}
#Simulated Brightness Temperature for AMSRE on Aqua, Channel 10
'7001294' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 11 ;
}
#Simulated Brightness Temperature for AMSRE on Aqua, Channel 11
'7001295' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 12 ;
}
#Simulated Brightness Temperature for AMSRE on Aqua, Channel 12
'7001296' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 13 ;
}
#Simulated Brightness Temperature for AMSRE on Aqua, Channel 9
'7001297' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 10 ;
}
#Simulated Brightness Counts for GOES 12, Channel 3
'7001298' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 4 ;
}
#Simulated Brightness Counts for GOES 12, Channel 4
'7001299' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 5 ;
}
#Simulated Brightness Temperature for GOES 11, Channel 2
'7001300' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 6 ;
}
#Simulated Brightness Temperature for GOES 11, Channel 3
'7001301' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 7 ;
}
#Simulated Brightness Temperature for GOES 11, Channel 4
'7001302' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 8 ;
}
#Simulated Brightness Temperature for GOES 11, Channel 5
'7001303' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 9 ;
}
#Simulated Brightness Temperature for GOES 12, Channel 2
'7001304' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 0 ;
}
#Simulated Brightness Temperature for GOES 12, Channel 3
'7001305' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 1 ;
}
#Simulated Brightness Temperature for GOES 12, Channel 4
'7001306' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 2 ;
}
#Simulated Brightness Temperature for GOES 12, Channel 6
'7001307' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 3 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-10
'7001308' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 23 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-11
'7001309' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 24 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-12
'7001310' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 25 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-13
'7001311' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 26 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-14
'7001312' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 27 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-15
'7001313' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 28 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-16
'7001314' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 29 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-7
'7001315' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 20 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-8
'7001316' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 21 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-9
'7001317' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 22 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-10
'7001318' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 39 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-11
'7001319' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 40 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-12
'7001320' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 41 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-13
'7001321' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 42 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-14
'7001322' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 43 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-15
'7001323' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 44 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-16
'7001324' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 45 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-7
'7001325' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 36 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-8
'7001326' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 37 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-9
'7001327' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 38 ;
}
#Simulated Reflectance Factor for ABI GOES-16, Band-1
'7001328' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 14 ;
}
#Simulated Reflectance Factor for ABI GOES-16, Band-2
'7001329' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 15 ;
}
#Simulated Reflectance Factor for ABI GOES-16, Band-3
'7001330' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 16 ;
}
#Simulated Reflectance Factor for ABI GOES-16, Band-4
'7001331' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 17 ;
}
#Simulated Reflectance Factor for ABI GOES-16, Band-5
'7001332' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 18 ;
}
#Simulated Reflectance Factor for ABI GOES-16, Band-6
'7001333' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 19 ;
}
#Simulated Reflectance Factor for ABI GOES-17, Band-1
'7001334' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 30 ;
}
#Simulated Reflectance Factor for ABI GOES-17, Band-2
'7001335' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 31 ;
}
#Simulated Reflectance Factor for ABI GOES-17, Band-3
'7001336' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 32 ;
}
#Simulated Reflectance Factor for ABI GOES-17, Band-4
'7001337' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 33 ;
}
#Simulated Reflectance Factor for ABI GOES-17, Band-5
'7001338' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 34 ;
}
#Simulated Reflectance Factor for ABI GOES-17, Band-6
'7001339' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 35 ;
}
#Ventilation Rate
'7001353' = {
discipline = 0 ;
@ -1649,279 +1925,3 @@
parameterCategory = 1 ;
parameterNumber = 8 ;
}
#Simulated Brightness Temperature for AMSRE on Aqua, Channel 10
'7001294' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 11 ;
}
#Simulated Brightness Temperature for AMSRE on Aqua, Channel 11
'7001295' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 12 ;
}
#Simulated Brightness Temperature for AMSRE on Aqua, Channel 12
'7001296' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 13 ;
}
#Simulated Brightness Temperature for AMSRE on Aqua, Channel 9
'7001297' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 10 ;
}
#Simulated Brightness Counts for GOES 12, Channel 3
'7001298' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 4 ;
}
#Simulated Brightness Counts for GOES 12, Channel 4
'7001299' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 5 ;
}
#Simulated Brightness Temperature for GOES 11, Channel 2
'7001300' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 6 ;
}
#Simulated Brightness Temperature for GOES 11, Channel 3
'7001301' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 7 ;
}
#Simulated Brightness Temperature for GOES 11, Channel 4
'7001302' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 8 ;
}
#Simulated Brightness Temperature for GOES 11, Channel 5
'7001303' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 9 ;
}
#Simulated Brightness Temperature for GOES 12, Channel 2
'7001304' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 0 ;
}
#Simulated Brightness Temperature for GOES 12, Channel 3
'7001305' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 1 ;
}
#Simulated Brightness Temperature for GOES 12, Channel 4
'7001306' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 2 ;
}
#Simulated Brightness Temperature for GOES 12, Channel 6
'7001307' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 3 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-10
'7001308' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 23 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-11
'7001309' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 24 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-12
'7001310' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 25 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-13
'7001311' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 26 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-14
'7001312' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 27 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-15
'7001313' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 28 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-16
'7001314' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 29 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-7
'7001315' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 20 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-8
'7001316' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 21 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-9
'7001317' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 22 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-10
'7001318' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 39 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-11
'7001319' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 40 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-12
'7001320' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 41 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-13
'7001321' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 42 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-14
'7001322' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 43 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-15
'7001323' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 44 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-16
'7001324' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 45 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-7
'7001325' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 36 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-8
'7001326' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 37 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-9
'7001327' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 38 ;
}
#Simulated Reflectance Factor for ABI GOES-16, Band-1
'7001328' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 14 ;
}
#Simulated Reflectance Factor for ABI GOES-16, Band-2
'7001329' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 15 ;
}
#Simulated Reflectance Factor for ABI GOES-16, Band-3
'7001330' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 16 ;
}
#Simulated Reflectance Factor for ABI GOES-16, Band-4
'7001331' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 17 ;
}
#Simulated Reflectance Factor for ABI GOES-16, Band-5
'7001332' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 18 ;
}
#Simulated Reflectance Factor for ABI GOES-16, Band-6
'7001333' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 19 ;
}
#Simulated Reflectance Factor for ABI GOES-17, Band-1
'7001334' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 30 ;
}
#Simulated Reflectance Factor for ABI GOES-17, Band-2
'7001335' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 31 ;
}
#Simulated Reflectance Factor for ABI GOES-17, Band-3
'7001336' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 32 ;
}
#Simulated Reflectance Factor for ABI GOES-17, Band-4
'7001337' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 33 ;
}
#Simulated Reflectance Factor for ABI GOES-17, Band-5
'7001338' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 34 ;
}
#Simulated Reflectance Factor for ABI GOES-17, Band-6
'7001339' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 35 ;
}

View File

@ -1625,6 +1625,282 @@
parameterCategory = 19 ;
parameterNumber = 234 ;
}
#Simulated Brightness Temperature for AMSRE on Aqua, Channel 10
'AMSRE10' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 11 ;
}
#Simulated Brightness Temperature for AMSRE on Aqua, Channel 11
'AMSRE11' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 12 ;
}
#Simulated Brightness Temperature for AMSRE on Aqua, Channel 12
'AMSRE12' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 13 ;
}
#Simulated Brightness Temperature for AMSRE on Aqua, Channel 9
'AMSRE9' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 10 ;
}
#Simulated Brightness Counts for GOES 12, Channel 3
'SBC123' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 4 ;
}
#Simulated Brightness Counts for GOES 12, Channel 4
'SBC124' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 5 ;
}
#Simulated Brightness Temperature for GOES 11, Channel 2
'SBT112' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 6 ;
}
#Simulated Brightness Temperature for GOES 11, Channel 3
'SBT113' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 7 ;
}
#Simulated Brightness Temperature for GOES 11, Channel 4
'SBT114' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 8 ;
}
#Simulated Brightness Temperature for GOES 11, Channel 5
'SBT115' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 9 ;
}
#Simulated Brightness Temperature for GOES 12, Channel 2
'SBT122' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 0 ;
}
#Simulated Brightness Temperature for GOES 12, Channel 3
'SBT123' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 1 ;
}
#Simulated Brightness Temperature for GOES 12, Channel 4
'SBT124' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 2 ;
}
#Simulated Brightness Temperature for GOES 12, Channel 6
'SBT126' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 3 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-10
'SBTA1610' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 23 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-11
'SBTA1611' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 24 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-12
'SBTA1612' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 25 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-13
'SBTA1613' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 26 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-14
'SBTA1614' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 27 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-15
'SBTA1615' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 28 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-16
'SBTA1616' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 29 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-7
'SBTA167' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 20 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-8
'SBTA168' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 21 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-9
'SBTA169' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 22 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-10
'SBTA1710' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 39 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-11
'SBTA1711' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 40 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-12
'SBTA1712' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 41 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-13
'SBTA1713' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 42 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-14
'SBTA1714' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 43 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-15
'SBTA1715' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 44 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-16
'SBTA1716' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 45 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-7
'SBTA177' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 36 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-8
'SBTA178' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 37 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-9
'SBTA179' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 38 ;
}
#Simulated Reflectance Factor for ABI GOES-16, Band-1
'SRFA161' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 14 ;
}
#Simulated Reflectance Factor for ABI GOES-16, Band-2
'SRFA162' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 15 ;
}
#Simulated Reflectance Factor for ABI GOES-16, Band-3
'SRFA163' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 16 ;
}
#Simulated Reflectance Factor for ABI GOES-16, Band-4
'SRFA164' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 17 ;
}
#Simulated Reflectance Factor for ABI GOES-16, Band-5
'SRFA165' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 18 ;
}
#Simulated Reflectance Factor for ABI GOES-16, Band-6
'SRFA166' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 19 ;
}
#Simulated Reflectance Factor for ABI GOES-17, Band-1
'SRFA171' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 30 ;
}
#Simulated Reflectance Factor for ABI GOES-17, Band-2
'SRFA172' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 31 ;
}
#Simulated Reflectance Factor for ABI GOES-17, Band-3
'SRFA173' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 32 ;
}
#Simulated Reflectance Factor for ABI GOES-17, Band-4
'SRFA174' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 33 ;
}
#Simulated Reflectance Factor for ABI GOES-17, Band-5
'SRFA175' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 34 ;
}
#Simulated Reflectance Factor for ABI GOES-17, Band-6
'SRFA176' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 35 ;
}
#Ventilation Rate
'VRATE' = {
discipline = 0 ;
@ -1649,279 +1925,3 @@
parameterCategory = 1 ;
parameterNumber = 8 ;
}
#Simulated Brightness Temperature for AMSRE on Aqua, Channel 10
'AMSRE10' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 11 ;
}
#Simulated Brightness Temperature for AMSRE on Aqua, Channel 11
'AMSRE11' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 12 ;
}
#Simulated Brightness Temperature for AMSRE on Aqua, Channel 12
'AMSRE12' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 13 ;
}
#Simulated Brightness Temperature for AMSRE on Aqua, Channel 9
'AMSRE9' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 10 ;
}
#Simulated Brightness Counts for GOES 12, Channel 3
'SBC123' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 4 ;
}
#Simulated Brightness Counts for GOES 12, Channel 4
'SBC124' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 5 ;
}
#Simulated Brightness Temperature for GOES 11, Channel 2
'SBT112' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 6 ;
}
#Simulated Brightness Temperature for GOES 11, Channel 3
'SBT113' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 7 ;
}
#Simulated Brightness Temperature for GOES 11, Channel 4
'SBT114' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 8 ;
}
#Simulated Brightness Temperature for GOES 11, Channel 5
'SBT115' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 9 ;
}
#Simulated Brightness Temperature for GOES 12, Channel 2
'SBT122' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 0 ;
}
#Simulated Brightness Temperature for GOES 12, Channel 3
'SBT123' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 1 ;
}
#Simulated Brightness Temperature for GOES 12, Channel 4
'SBT124' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 2 ;
}
#Simulated Brightness Temperature for GOES 12, Channel 6
'SBT126' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 3 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-10
'SBTA1610' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 23 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-11
'SBTA1611' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 24 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-12
'SBTA1612' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 25 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-13
'SBTA1613' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 26 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-14
'SBTA1614' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 27 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-15
'SBTA1615' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 28 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-16
'SBTA1616' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 29 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-7
'SBTA167' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 20 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-8
'SBTA168' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 21 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-9
'SBTA169' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 22 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-10
'SBTA1710' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 39 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-11
'SBTA1711' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 40 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-12
'SBTA1712' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 41 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-13
'SBTA1713' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 42 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-14
'SBTA1714' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 43 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-15
'SBTA1715' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 44 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-16
'SBTA1716' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 45 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-7
'SBTA177' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 36 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-8
'SBTA178' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 37 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-9
'SBTA179' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 38 ;
}
#Simulated Reflectance Factor for ABI GOES-16, Band-1
'SRFA161' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 14 ;
}
#Simulated Reflectance Factor for ABI GOES-16, Band-2
'SRFA162' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 15 ;
}
#Simulated Reflectance Factor for ABI GOES-16, Band-3
'SRFA163' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 16 ;
}
#Simulated Reflectance Factor for ABI GOES-16, Band-4
'SRFA164' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 17 ;
}
#Simulated Reflectance Factor for ABI GOES-16, Band-5
'SRFA165' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 18 ;
}
#Simulated Reflectance Factor for ABI GOES-16, Band-6
'SRFA166' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 19 ;
}
#Simulated Reflectance Factor for ABI GOES-17, Band-1
'SRFA171' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 30 ;
}
#Simulated Reflectance Factor for ABI GOES-17, Band-2
'SRFA172' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 31 ;
}
#Simulated Reflectance Factor for ABI GOES-17, Band-3
'SRFA173' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 32 ;
}
#Simulated Reflectance Factor for ABI GOES-17, Band-4
'SRFA174' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 33 ;
}
#Simulated Reflectance Factor for ABI GOES-17, Band-5
'SRFA175' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 34 ;
}
#Simulated Reflectance Factor for ABI GOES-17, Band-6
'SRFA176' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 35 ;
}

View File

@ -1625,6 +1625,282 @@
parameterCategory = 19 ;
parameterNumber = 234 ;
}
#Simulated Brightness Temperature for AMSRE on Aqua, Channel 10
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 11 ;
}
#Simulated Brightness Temperature for AMSRE on Aqua, Channel 11
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 12 ;
}
#Simulated Brightness Temperature for AMSRE on Aqua, Channel 12
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 13 ;
}
#Simulated Brightness Temperature for AMSRE on Aqua, Channel 9
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 10 ;
}
#Simulated Brightness Counts for GOES 12, Channel 3
'Byte' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 4 ;
}
#Simulated Brightness Counts for GOES 12, Channel 4
'Byte' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 5 ;
}
#Simulated Brightness Temperature for GOES 11, Channel 2
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 6 ;
}
#Simulated Brightness Temperature for GOES 11, Channel 3
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 7 ;
}
#Simulated Brightness Temperature for GOES 11, Channel 4
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 8 ;
}
#Simulated Brightness Temperature for GOES 11, Channel 5
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 9 ;
}
#Simulated Brightness Temperature for GOES 12, Channel 2
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 0 ;
}
#Simulated Brightness Temperature for GOES 12, Channel 3
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 1 ;
}
#Simulated Brightness Temperature for GOES 12, Channel 4
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 2 ;
}
#Simulated Brightness Temperature for GOES 12, Channel 6
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 3 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-10
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 23 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-11
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 24 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-12
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 25 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-13
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 26 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-14
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 27 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-15
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 28 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-16
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 29 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-7
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 20 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-8
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 21 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-9
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 22 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-10
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 39 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-11
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 40 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-12
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 41 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-13
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 42 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-14
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 43 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-15
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 44 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-16
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 45 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-7
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 36 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-8
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 37 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-9
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 38 ;
}
#Simulated Reflectance Factor for ABI GOES-16, Band-1
'~' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 14 ;
}
#Simulated Reflectance Factor for ABI GOES-16, Band-2
'~' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 15 ;
}
#Simulated Reflectance Factor for ABI GOES-16, Band-3
'~' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 16 ;
}
#Simulated Reflectance Factor for ABI GOES-16, Band-4
'~' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 17 ;
}
#Simulated Reflectance Factor for ABI GOES-16, Band-5
'~' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 18 ;
}
#Simulated Reflectance Factor for ABI GOES-16, Band-6
'~' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 19 ;
}
#Simulated Reflectance Factor for ABI GOES-17, Band-1
'~' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 30 ;
}
#Simulated Reflectance Factor for ABI GOES-17, Band-2
'~' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 31 ;
}
#Simulated Reflectance Factor for ABI GOES-17, Band-3
'~' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 32 ;
}
#Simulated Reflectance Factor for ABI GOES-17, Band-4
'~' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 33 ;
}
#Simulated Reflectance Factor for ABI GOES-17, Band-5
'~' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 34 ;
}
#Simulated Reflectance Factor for ABI GOES-17, Band-6
'~' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 35 ;
}
#Ventilation Rate
'm**2 s**-1' = {
discipline = 0 ;
@ -1649,279 +1925,3 @@
parameterCategory = 1 ;
parameterNumber = 8 ;
}
#Simulated Brightness Temperature for AMSRE on Aqua, Channel 10
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 11 ;
}
#Simulated Brightness Temperature for AMSRE on Aqua, Channel 11
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 12 ;
}
#Simulated Brightness Temperature for AMSRE on Aqua, Channel 12
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 13 ;
}
#Simulated Brightness Temperature for AMSRE on Aqua, Channel 9
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 10 ;
}
#Simulated Brightness Counts for GOES 12, Channel 3
'Byte' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 4 ;
}
#Simulated Brightness Counts for GOES 12, Channel 4
'Byte' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 5 ;
}
#Simulated Brightness Temperature for GOES 11, Channel 2
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 6 ;
}
#Simulated Brightness Temperature for GOES 11, Channel 3
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 7 ;
}
#Simulated Brightness Temperature for GOES 11, Channel 4
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 8 ;
}
#Simulated Brightness Temperature for GOES 11, Channel 5
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 9 ;
}
#Simulated Brightness Temperature for GOES 12, Channel 2
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 0 ;
}
#Simulated Brightness Temperature for GOES 12, Channel 3
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 1 ;
}
#Simulated Brightness Temperature for GOES 12, Channel 4
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 2 ;
}
#Simulated Brightness Temperature for GOES 12, Channel 6
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 3 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-10
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 23 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-11
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 24 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-12
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 25 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-13
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 26 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-14
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 27 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-15
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 28 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-16
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 29 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-7
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 20 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-8
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 21 ;
}
#Simulated Brightness Temperature for ABI GOES-16, Band-9
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 22 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-10
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 39 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-11
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 40 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-12
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 41 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-13
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 42 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-14
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 43 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-15
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 44 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-16
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 45 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-7
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 36 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-8
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 37 ;
}
#Simulated Brightness Temperature for ABI GOES-17, Band-9
'K' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 38 ;
}
#Simulated Reflectance Factor for ABI GOES-16, Band-1
'-' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 14 ;
}
#Simulated Reflectance Factor for ABI GOES-16, Band-2
'-' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 15 ;
}
#Simulated Reflectance Factor for ABI GOES-16, Band-3
'-' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 16 ;
}
#Simulated Reflectance Factor for ABI GOES-16, Band-4
'-' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 17 ;
}
#Simulated Reflectance Factor for ABI GOES-16, Band-5
'-' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 18 ;
}
#Simulated Reflectance Factor for ABI GOES-16, Band-6
'-' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 19 ;
}
#Simulated Reflectance Factor for ABI GOES-17, Band-1
'-' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 30 ;
}
#Simulated Reflectance Factor for ABI GOES-17, Band-2
'-' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 31 ;
}
#Simulated Reflectance Factor for ABI GOES-17, Band-3
'-' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 32 ;
}
#Simulated Reflectance Factor for ABI GOES-17, Band-4
'-' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 33 ;
}
#Simulated Reflectance Factor for ABI GOES-17, Band-5
'-' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 34 ;
}
#Simulated Reflectance Factor for ABI GOES-17, Band-6
'-' = {
discipline = 3 ;
parameterCategory = 192 ;
parameterNumber = 35 ;
}

View File

@ -55,7 +55,7 @@ include "grib2/template.3.scanning_mode.def";
iterator lambert_azimuthal_equal_area(numberOfPoints,missingValue,values,
radius,Nx,Ny,
latitudeOfFirstGridPointInDegrees,longitudeOfFirstGridPointInDegrees,
standardParallel,centralLongitude,
standardParallelInDegrees,centralLongitudeInDegrees,
Dx,Dy,
iScansNegatively, jScansPositively,
jPointsAreConsecutive, alternativeRowScanning);

View File

@ -766,7 +766,7 @@ static int descriptor_get_min_max(bufr_descriptor* bd, long width, long referenc
double* minAllowed, double* maxAllowed)
{
/* Maximum value is allowed to be the largest number (all bits 1) which means it's MISSING */
unsigned long max1 = (1UL << width) - 1; /* Highest value for number with 'width' bits */
size_t max1 = (1ULL << width) - 1; /* Highest value for number with 'width' bits */
DebugAssert(width > 0 && width < 64);
*maxAllowed = (max1 + reference) * factor;
@ -1100,7 +1100,7 @@ static double decode_double_value(grib_context* c, unsigned char* data, long* po
dval = GRIB_MISSING_DOUBLE;
}
else {
dval = ((long)lval + modifiedReference) * modifiedFactor;
dval = ((int64_t)lval + modifiedReference) * modifiedFactor;
}
return dval;
}

View File

@ -1,3 +1,6 @@
#ifdef ECCODES_ON_WINDOWS
#include <stdint.h>
#endif
/* action.c */
void grib_dump(grib_action* a, FILE* f, int l);
@ -1377,11 +1380,11 @@ grib_box* grib_box_factory(grib_handle* h, grib_arguments* args);
int grib_nearest_find(grib_nearest* nearest, const grib_handle* h, double inlat, double inlon, unsigned long flags, double* outlats, double* outlons, double* values, double* distances, int* indexes, size_t* len);
int grib_nearest_init(grib_nearest* i, grib_handle* h, grib_arguments* args);
int grib_nearest_delete(grib_nearest* i);
int grib_nearest_get_radius(grib_handle* h, double* radiusInKm);
void grib_binary_search(double xx[], const unsigned long n, double x, int* ju, int* jl);
int grib_nearest_find_multiple(const grib_handle* h, int is_lsm, const double* inlats, const double* inlons, long npoints, double* outlats, double* outlons, double* values, double* distances, int* indexes);
int grib_nearest_find_generic(grib_nearest* nearest, grib_handle* h, double inlat, double inlon, unsigned long flags,
const char* values_keyname, const char* radius_keyname,
const char* Ni_keyname, const char* Nj_keyname,
const char* values_keyname, const char* Ni_keyname, const char* Nj_keyname,
double** out_lats,
int* out_lats_count,
double** out_lons,
@ -1550,7 +1553,7 @@ int grib_optimize_decimal_factor(grib_accessor* a, const char* reference_value,
const char* grib_get_git_sha1(void);
/* grib_bits_any_endian.c */
int grib_is_all_bits_one(long val, long nbits);
int grib_is_all_bits_one(int64_t val, long nbits);
int grib_encode_string(unsigned char* bitStream, long* bitOffset, size_t numberOfCharacters, const char* string);
char* grib_decode_string(const unsigned char* bitStream, long* bitOffset, size_t numberOfCharacters, char* string);
unsigned long grib_decode_unsigned_long(const unsigned char* p, long* bitp, long nbits);

View File

@ -13,6 +13,10 @@
* *
***************************************************************************/
#ifdef ECCODES_ON_WINDOWS
#include <stdint.h>
#endif
#if GRIB_PTHREADS
static pthread_once_t once = PTHREAD_ONCE_INIT;
static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
@ -45,16 +49,16 @@ typedef struct bits_all_one_t
{
int inited;
int size;
long v[128];
int64_t v[128];
} bits_all_one_t;
static bits_all_one_t bits_all_one = { 0, 0, {0,} };
static void init_bits_all_one()
{
int size = sizeof(long) * 8;
long* v = 0;
unsigned long cmask = -1;
int size = sizeof(int64_t) * 8;
int64_t* v = 0;
uint64_t cmask = -1;
DebugAssert(!bits_all_one.inited);
bits_all_one.size = size;
@ -78,7 +82,7 @@ static void init_bits_all_one_if_needed()
init_bits_all_one();
GRIB_MUTEX_UNLOCK(&mutex);
}
int grib_is_all_bits_one(long val, long nbits)
int grib_is_all_bits_one(int64_t val, long nbits)
{
/*if (!bits_all_one.inited) init_bits_all_one();*/
init_bits_all_one_if_needed();
@ -301,7 +305,7 @@ int grib_encode_unsigned_long(unsigned char* p, unsigned long val, long* bitp, l
* Note: On x64 Micrsoft Windows a "long" is 32 bits but "size_t" is 64 bits
*/
#define BIT_MASK_SIZE_T(x) \
(((x) == max_nbits_size_t) ? (size_t)-1UL : (1UL << (x)) - 1)
(((x) == max_nbits_size_t) ? (size_t)-1ULL : (1ULL << (x)) - 1)
size_t grib_decode_size_t(const unsigned char* p, long* bitp, long nbits)
{

View File

@ -41,7 +41,7 @@ static void init_bits_all_one()
*(--v) = ~(cmask << --size);
}
int grib_is_all_bits_one(long val, long nbits)
int grib_is_all_bits_one(int64_t val, long nbits)
{
if (!bits_all_one.inited)
init_bits_all_one();

View File

@ -8,11 +8,6 @@
* virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
*/
/**************************************
* Enrico Fucile
**************************************/
#include "grib_api_internal.h"
#include <math.h>
@ -102,111 +97,235 @@ static int next(grib_iterator* i, double* lat, double* lon, double* val)
return 1;
}
static int init(grib_iterator* iter, grib_handle* h, grib_arguments* args)
#ifndef M_PI
#define M_PI 3.14159265358979323846 /* Whole pie */
#endif
#ifndef M_PI_2
#define M_PI_2 1.57079632679489661923 /* Half a pie */
#endif
#ifndef M_PI_4
#define M_PI_4 0.78539816339744830962 /* Quarter of a pie */
#endif
#define RAD2DEG 57.29577951308232087684 /* 180 over pi */
#define DEG2RAD 0.01745329251994329576 /* pi over 180 */
#define P00 .33333333333333333333 /* 1 / 3 */
#define P01 .17222222222222222222 /* 31 / 180 */
#define P02 .10257936507936507937 /* 517 / 5040 */
#define P10 .06388888888888888888 /* 23 / 360 */
#define P11 .06640211640211640212 /* 251 / 3780 */
#define P20 .01677689594356261023 /* 761 / 45360 */
static void pj_authset(double es, double* APA)
{
double t;
APA[0] = es * P00;
t = es * es;
APA[0] += t * P01;
APA[1] = t * P10;
t *= es;
APA[0] += t * P02;
APA[1] += t * P11;
APA[2] = t * P20;
}
static double pj_authlat(double beta, double* APA)
{
double t = beta + beta;
return (beta + APA[0] * sin(t) + APA[1] * sin(t + t) + APA[2] * sin(t + t + t));
}
static double pj_qsfn(double sinphi, double e, double one_es)
{
double con, div1, div2;
const double EPSILON = 1.0e-7;
if (e >= EPSILON) {
con = e * sinphi;
div1 = 1.0 - con * con;
div2 = 1.0 + con;
/* avoid zero division, fail gracefully */
if (div1 == 0.0 || div2 == 0.0)
return HUGE_VAL;
return (one_es * (sinphi / div1 - (.5 / e) * log((1. - con) / div2)));
}
else
return (sinphi + sinphi);
}
#define EPS10 1.e-10
static int init_oblate(grib_handle* h,
grib_iterator_lambert_azimuthal_equal_area* self,
size_t nv, long nx, long ny,
double Dx, double Dy, double earthMinorAxisInMetres, double earthMajorAxisInMetres,
double latFirstInRadians, double lonFirstInRadians,
double centralLongitudeInRadians, double standardParallelInRadians,
long iScansNegatively, long jScansPositively, long jPointsAreConsecutive)
{
int ret = 0;
double *lats, *lons;
double lonFirstInDegrees, latFirstInDegrees, lonFirst, latFirst, radius = 0;
long nx, ny, standardParallel, centralLongitude;
double phi1, lambda0, xFirst, yFirst, x, y, Dx, Dy;
long i, j;
double x0, y0, x, y;
double coslam, sinlam, sinphi, sinphi_, q, sinb = 0.0, cosb = 0.0, b = 0.0, cosb2;
double Q__qp = 0, Q__rq = 0, Q__cosb1, Q__sinb1, Q__dd, Q__xmf, Q__ymf, t;
/* double Q__mmf = 0; */
double e, es, temp, one_es;
double APA[3] = {0,};
double xFirst, yFirst;
Dx = iScansNegatively == 0 ? Dx / 1000 : -Dx / 1000;
Dy = jScansPositively == 1 ? Dy / 1000 : -Dy / 1000;
temp = (earthMajorAxisInMetres - earthMinorAxisInMetres) / earthMajorAxisInMetres;
es = 2 * temp - temp * temp;
one_es = 1.0 - es;
e = sqrt(es);
coslam = cos(lonFirstInRadians - centralLongitudeInRadians); /* cos(lp.lam) */
sinlam = sin(lonFirstInRadians - centralLongitudeInRadians);
sinphi = sin(latFirstInRadians); /* sin(lp.phi) */
q = pj_qsfn(sinphi, e, one_es);
t = fabs(standardParallelInRadians);
if (t > M_PI_2 + EPS10) {
return GRIB_GEOCALCULUS_PROBLEM;
}
/* if (fabs(t - M_HALFPI) < EPS10)
Q->mode = P->phi0 < 0. ? S_POLE : N_POLE;
else if (fabs(t) < EPS10)
Q->mode = EQUIT;
else
Q->mode = OBLIQ;
*/
Q__qp = pj_qsfn(1.0, e, one_es);
/* Q__mmf = 0.5 / one_es; ---- TODO(masn): do I need this? */
pj_authset(es, APA); /* sets up APA array */
Q__rq = sqrt(0.5 * Q__qp);
sinphi_ = sin(standardParallelInRadians); /* (P->phi0); */
Q__sinb1 = pj_qsfn(sinphi_, e, one_es) / Q__qp;
Q__cosb1 = sqrt(1.0 - Q__sinb1 * Q__sinb1);
Q__dd = cos(standardParallelInRadians) / (sqrt(1. - es * sinphi_ * sinphi_) * Q__rq * Q__cosb1);
Q__ymf = (Q__xmf = Q__rq) / Q__dd;
Q__xmf *= Q__dd;
sinb = q / Q__qp;
cosb2 = 1.0 - sinb * sinb;
cosb = cosb2 > 0 ? sqrt(cosb2) : 0;
b = 1. + Q__sinb1 * sinb + Q__cosb1 * cosb * coslam;
if (fabs(b) < EPS10) {
return GRIB_GEOCALCULUS_PROBLEM;
}
b = sqrt(2.0 / b);
/* OBLIQUE */
y0 = Q__ymf * b * (Q__cosb1 * sinb - Q__sinb1 * cosb * coslam);
x0 = Q__xmf * b * cosb * sinlam;
/* Allocate latitude and longitude arrays */
self->lats = (double*)grib_context_malloc(h->context, nv * sizeof(double));
if (!self->lats) {
grib_context_log(h->context, GRIB_LOG_ERROR, "Error allocating %ld bytes", nv * sizeof(double));
return GRIB_OUT_OF_MEMORY;
}
self->lons = (double*)grib_context_malloc(h->context, nv * sizeof(double));
if (!self->lats) {
grib_context_log(h->context, GRIB_LOG_ERROR, "Error allocating %ld bytes", nv * sizeof(double));
return GRIB_OUT_OF_MEMORY;
}
lats = self->lats;
lons = self->lons;
/* Populate the lat and lon arrays */
{
xFirst = x0;
yFirst = y0;
y = yFirst;
for (j = 0; j < ny; j++) {
x = xFirst;
for (i = 0; i < nx; i++) {
double cCe, sCe, rho, ab = 0.0, lp__lam, lp__phi, xy_x = x, xy_y = y;
xy_x /= Q__dd;
xy_y *= Q__dd;
rho = hypot(xy_x, xy_y);
Assert(rho >= EPS10); /* TODO(masn): check */
sCe = 2. * asin(.5 * rho / Q__rq);
cCe = cos(sCe);
sCe = sin(sCe);
xy_x *= sCe;
/* if oblique */
ab = cCe * Q__sinb1 + xy_y * sCe * Q__cosb1 / rho;
xy_y = rho * Q__cosb1 * cCe - xy_y * Q__sinb1 * sCe;
/* else
ab = xy.y * sCe / rho;
xy.y = rho * cCe;
*/
lp__lam = atan2(xy_x, xy_y); /* longitude */
lp__phi = pj_authlat(asin(ab), APA); /* latitude */
*lats = lp__phi * RAD2DEG;
*lons = (lp__lam + centralLongitudeInRadians) * RAD2DEG;
lons++;
lats++;
x += Dx / earthMajorAxisInMetres;
}
y += Dy / earthMajorAxisInMetres;
}
}
return GRIB_SUCCESS;
}
static int init_sphere(grib_handle* h,
grib_iterator_lambert_azimuthal_equal_area* self,
size_t nv, long nx, long ny,
double Dx, double Dy, double radius,
double latFirstInRadians, double lonFirstInRadians,
double centralLongitudeInRadians, double standardParallelInRadians,
long iScansNegatively, long jScansPositively, long jPointsAreConsecutive)
{
double *lats, *lons;
double phi1, lambda0, xFirst, yFirst, x, y;
double kp, sinphi1, cosphi1;
long alternativeRowScanning, iScansNegatively;
long jScansPositively, jPointsAreConsecutive;
double sinphi, cosphi, cosdlambda, sindlambda;
double cosc, sinc;
long i, j;
grib_iterator_lambert_azimuthal_equal_area* self =
(grib_iterator_lambert_azimuthal_equal_area*)iter;
const char* sradius = grib_arguments_get_name(h, args, self->carg++);
const char* snx = grib_arguments_get_name(h, args, self->carg++);
const char* sny = grib_arguments_get_name(h, args, self->carg++);
const char* slatFirstInDegrees = grib_arguments_get_name(h, args, self->carg++);
const char* slonFirstInDegrees = grib_arguments_get_name(h, args, self->carg++);
const char* sstandardParallel = grib_arguments_get_name(h, args, self->carg++);
const char* scentralLongitude = grib_arguments_get_name(h, args, self->carg++);
const char* sDx = grib_arguments_get_name(h, args, self->carg++);
const char* sDy = grib_arguments_get_name(h, args, self->carg++);
const char* siScansNegatively = grib_arguments_get_name(h, args, self->carg++);
const char* sjScansPositively = grib_arguments_get_name(h, args, self->carg++);
const char* sjPointsAreConsecutive = grib_arguments_get_name(h, args, self->carg++);
const char* salternativeRowScanning = grib_arguments_get_name(h, args, self->carg++);
double c, rho;
double epsilon = 1.0e-20;
double d2r = acos(0.0) / 90.0;
const double epsilon = 1.0e-20;
const double d2r = acos(0.0) / 90.0;
if ((ret = grib_get_double_internal(h, sradius, &radius)) != GRIB_SUCCESS) {
/* Check if it's an oblate spheroid */
if (grib_is_earth_oblate(h))
grib_context_log(h->context, GRIB_LOG_ERROR, "Lambert Azimuthal Equal Area only supported for spherical earth.");
return ret;
}
if ((ret = grib_get_long_internal(h, snx, &nx)) != GRIB_SUCCESS)
return ret;
if ((ret = grib_get_long_internal(h, sny, &ny)) != GRIB_SUCCESS)
return ret;
if (iter->nv != nx * ny) {
grib_context_log(h->context, GRIB_LOG_ERROR,
"Wrong number of points (%ld!=%ldx%ld)",
iter->nv, nx, ny);
return GRIB_WRONG_GRID;
}
if ((ret = grib_get_double_internal(h, slatFirstInDegrees, &latFirstInDegrees)) != GRIB_SUCCESS)
return ret;
if ((ret = grib_get_double_internal(h, slonFirstInDegrees, &lonFirstInDegrees)) != GRIB_SUCCESS)
return ret;
if ((ret = grib_get_long_internal(h, sstandardParallel, &standardParallel)) != GRIB_SUCCESS)
return ret;
if ((ret = grib_get_long_internal(h, scentralLongitude, &centralLongitude)) != GRIB_SUCCESS)
return ret;
if ((ret = grib_get_double_internal(h, sDx, &Dx)) != GRIB_SUCCESS)
return ret;
if ((ret = grib_get_double_internal(h, sDy, &Dy)) != GRIB_SUCCESS)
return ret;
if ((ret = grib_get_long_internal(h,
sjPointsAreConsecutive, &jPointsAreConsecutive)) != GRIB_SUCCESS)
return ret;
if ((ret = grib_get_long_internal(h, sjScansPositively, &jScansPositively)) != GRIB_SUCCESS)
return ret;
if ((ret = grib_get_long_internal(h, siScansNegatively, &iScansNegatively)) != GRIB_SUCCESS)
return ret;
if ((ret = grib_get_long_internal(h,
salternativeRowScanning, &alternativeRowScanning)) != GRIB_SUCCESS)
return ret;
lambda0 = d2r * centralLongitude / 1000000;
phi1 = d2r * standardParallel / 1000000;
latFirst = latFirstInDegrees * d2r;
lonFirst = lonFirstInDegrees * d2r;
lambda0 = centralLongitudeInRadians;
phi1 = standardParallelInRadians;
cosphi1 = cos(phi1);
sinphi1 = sin(phi1);
Dx = iScansNegatively == 0 ? Dx / 1000 : -Dx / 1000;
Dy = jScansPositively == 1 ? Dy / 1000 : -Dy / 1000;
self->lats = (double*)grib_context_malloc(h->context, iter->nv * sizeof(double));
self->lats = (double*)grib_context_malloc(h->context, nv * sizeof(double));
if (!self->lats) {
grib_context_log(h->context, GRIB_LOG_ERROR,
"Error allocating %ld bytes", iter->nv * sizeof(double));
"Error allocating %ld bytes", nv * sizeof(double));
return GRIB_OUT_OF_MEMORY;
}
self->lons = (double*)grib_context_malloc(h->context, iter->nv * sizeof(double));
self->lons = (double*)grib_context_malloc(h->context, nv * sizeof(double));
if (!self->lats) {
grib_context_log(h->context, GRIB_LOG_ERROR,
"Error allocating %ld bytes", iter->nv * sizeof(double));
"Error allocating %ld bytes", nv * sizeof(double));
return GRIB_OUT_OF_MEMORY;
}
lats = self->lats;
lons = self->lons;
/* compute xFirst,yFirst in metres */
sinphi = sin(latFirst);
cosphi = cos(latFirst);
cosdlambda = cos(lonFirst - lambda0);
sindlambda = sin(lonFirst - lambda0);
sinphi = sin(latFirstInRadians);
cosphi = cos(latFirstInRadians);
cosdlambda = cos(lonFirstInRadians - lambda0);
sindlambda = sin(lonFirstInRadians - lambda0);
kp = radius * sqrt(2.0 / (1 + sinphi1 * sinphi + cosphi1 * cosphi * cosdlambda));
xFirst = kp * cosphi * sindlambda;
yFirst = kp * (cosphi1 * sinphi - sinphi1 * cosphi * cosdlambda);
@ -267,10 +386,105 @@ static int init(grib_iterator* iter, grib_handle* h, grib_arguments* args)
y += Dy;
}
}
return GRIB_SUCCESS;
}
static int init(grib_iterator* iter, grib_handle* h, grib_arguments* args)
{
int err = 0;
int is_oblate = 0;
double lonFirstInDegrees, latFirstInDegrees, lonFirstInRadians, latFirstInRadians, radius = 0;
long nx, ny;
double standardParallelInDegrees, centralLongitudeInDegrees;
double standardParallelInRadians, centralLongitudeInRadians;
double Dx, Dy;
long alternativeRowScanning, iScansNegatively;
long jScansPositively, jPointsAreConsecutive;
double earthMajorAxisInMetres = 0, earthMinorAxisInMetres = 0;
grib_iterator_lambert_azimuthal_equal_area* self =
(grib_iterator_lambert_azimuthal_equal_area*)iter;
const char* sradius = grib_arguments_get_name(h, args, self->carg++);
const char* snx = grib_arguments_get_name(h, args, self->carg++);
const char* sny = grib_arguments_get_name(h, args, self->carg++);
const char* slatFirstInDegrees = grib_arguments_get_name(h, args, self->carg++);
const char* slonFirstInDegrees = grib_arguments_get_name(h, args, self->carg++);
const char* sstandardParallel = grib_arguments_get_name(h, args, self->carg++);
const char* scentralLongitude = grib_arguments_get_name(h, args, self->carg++);
const char* sDx = grib_arguments_get_name(h, args, self->carg++);
const char* sDy = grib_arguments_get_name(h, args, self->carg++);
const char* siScansNegatively = grib_arguments_get_name(h, args, self->carg++);
const char* sjScansPositively = grib_arguments_get_name(h, args, self->carg++);
const char* sjPointsAreConsecutive = grib_arguments_get_name(h, args, self->carg++);
const char* salternativeRowScanning = grib_arguments_get_name(h, args, self->carg++);
const double d2r = acos(0.0) / 90.0;
is_oblate = grib_is_earth_oblate(h);
if (is_oblate) {
if ((err = grib_get_double_internal(h, "earthMinorAxisInMetres", &earthMinorAxisInMetres)) != GRIB_SUCCESS) return err;
if ((err = grib_get_double_internal(h, "earthMajorAxisInMetres", &earthMajorAxisInMetres)) != GRIB_SUCCESS) return err;
}
else {
if ((err = grib_get_double_internal(h, sradius, &radius)) != GRIB_SUCCESS) return err;
}
if ((err = grib_get_long_internal(h, snx, &nx)) != GRIB_SUCCESS)
return err;
if ((err = grib_get_long_internal(h, sny, &ny)) != GRIB_SUCCESS)
return err;
if (iter->nv != nx * ny) {
grib_context_log(h->context, GRIB_LOG_ERROR,
"Wrong number of points (%ld!=%ldx%ld)",
iter->nv, nx, ny);
return GRIB_WRONG_GRID;
}
if ((err = grib_get_double_internal(h, slatFirstInDegrees, &latFirstInDegrees)) != GRIB_SUCCESS)
return err;
if ((err = grib_get_double_internal(h, slonFirstInDegrees, &lonFirstInDegrees)) != GRIB_SUCCESS)
return err;
if ((err = grib_get_double_internal(h, sstandardParallel, &standardParallelInDegrees)) != GRIB_SUCCESS)
return err;
if ((err = grib_get_double_internal(h, scentralLongitude, &centralLongitudeInDegrees)) != GRIB_SUCCESS)
return err;
if ((err = grib_get_double_internal(h, sDx, &Dx)) != GRIB_SUCCESS)
return err;
if ((err = grib_get_double_internal(h, sDy, &Dy)) != GRIB_SUCCESS)
return err;
if ((err = grib_get_long_internal(h, sjPointsAreConsecutive, &jPointsAreConsecutive)) != GRIB_SUCCESS)
return err;
if ((err = grib_get_long_internal(h, sjScansPositively, &jScansPositively)) != GRIB_SUCCESS)
return err;
if ((err = grib_get_long_internal(h, siScansNegatively, &iScansNegatively)) != GRIB_SUCCESS)
return err;
if ((err = grib_get_long_internal(h, salternativeRowScanning, &alternativeRowScanning)) != GRIB_SUCCESS)
return err;
latFirstInRadians = latFirstInDegrees * d2r;
lonFirstInRadians = lonFirstInDegrees * d2r;
centralLongitudeInRadians = centralLongitudeInDegrees * d2r;
standardParallelInRadians = standardParallelInDegrees * d2r;
if (is_oblate) {
err = init_oblate(h, self, iter->nv, nx, ny,
Dx, Dy, earthMinorAxisInMetres, earthMajorAxisInMetres,
latFirstInRadians, lonFirstInRadians,
centralLongitudeInRadians, standardParallelInRadians,
iScansNegatively, jScansPositively, jPointsAreConsecutive);
}
else {
err = init_sphere(h, self, iter->nv, nx, ny,
Dx, Dy, radius,
latFirstInRadians, lonFirstInRadians,
centralLongitudeInRadians, standardParallelInRadians,
iScansNegatively, jScansPositively, jPointsAreConsecutive);
}
if (err) return err;
iter->e = -1;
return ret;
return err;
}
static int destroy(grib_iterator* i)

View File

@ -97,6 +97,37 @@ int grib_nearest_delete(grib_nearest* i)
return 0;
}
/* Get the radius in kilometres for nearest neighbour distance calculations */
/* For an ellipsoid, approximate the radius using the average of the semimajor and semiminor axes */
int grib_nearest_get_radius(grib_handle* h, double* radiusInKm)
{
int err = 0;
long lRadiusInMetres;
double result = 0;
const char* s_radius = "radius";
const char* s_minor = "earthMinorAxisInMetres";
const char* s_major = "earthMajorAxisInMetres";
if ((err = grib_get_long(h, s_radius, &lRadiusInMetres)) == GRIB_SUCCESS) {
if (grib_is_missing(h, s_radius, &err) || lRadiusInMetres == GRIB_MISSING_LONG) {
grib_context_log(h->context, GRIB_LOG_DEBUG, "Key 'radius' is missing");
return GRIB_GEOCALCULUS_PROBLEM;
}
result = ((double)lRadiusInMetres) / 1000.0;
}
else {
double minor = 0, major = 0;
if ((err = grib_get_double_internal(h, s_minor, &minor)) != GRIB_SUCCESS) return err;
if ((err = grib_get_double_internal(h, s_major, &major)) != GRIB_SUCCESS) return err;
if (grib_is_missing(h, s_minor, &err)) return GRIB_GEOCALCULUS_PROBLEM;
if (grib_is_missing(h, s_major, &err)) return GRIB_GEOCALCULUS_PROBLEM;
result = (major + minor) / 2.0;
result = result / 1000.0;
}
*radiusInKm = result;
return GRIB_SUCCESS;
}
void grib_binary_search(double xx[], const unsigned long n, double x,
int* ju, int* jl)
{
@ -264,7 +295,6 @@ int grib_nearest_find_generic(
double inlat, double inlon, unsigned long flags,
const char* values_keyname,
const char* radius_keyname,
const char* Ni_keyname,
const char* Nj_keyname,
double** out_lats,
@ -278,7 +308,7 @@ int grib_nearest_find_generic(
{
int ret = 0, i = 0;
size_t nvalues = 0, nneighbours = 0;
double radiusInMetres, radiusInKm;
double radiusInKm;
grib_iterator* iter = NULL;
double lat = 0, lon = 0;
@ -291,21 +321,8 @@ int grib_nearest_find_generic(
return ret;
nearest->values_count = nvalues;
/* We need the radius to calculate the nearest distance. For an oblate earth
approximate this using the average of the semimajor and semiminor axes */
if ((ret = grib_get_double(h, radius_keyname, &radiusInMetres)) == GRIB_SUCCESS &&
!grib_is_missing(h, radius_keyname, &ret)) {
radiusInKm = radiusInMetres / 1000.0;
}
else {
double minor = 0, major = 0;
if ((ret = grib_get_double_internal(h, "earthMinorAxisInMetres", &minor)) != GRIB_SUCCESS) return ret;
if ((ret = grib_get_double_internal(h, "earthMajorAxisInMetres", &major)) != GRIB_SUCCESS) return ret;
if (grib_is_missing(h, "earthMinorAxisInMetres", &ret)) return GRIB_GEOCALCULUS_PROBLEM;
if (grib_is_missing(h, "earthMajorAxisInMetres", &ret)) return GRIB_GEOCALCULUS_PROBLEM;
radiusInMetres = (major + minor) / 2;
radiusInKm = radiusInMetres / 1000.0;
}
if ((ret = grib_nearest_get_radius(h, &radiusInKm)) != GRIB_SUCCESS)
return ret;
neighbours = (PointStore*)grib_context_malloc(nearest->context, nvalues * sizeof(PointStore));
for (i = 0; i < nvalues; ++i) {

View File

@ -110,7 +110,6 @@ static int find(grib_nearest* nearest, grib_handle* h,
nearest, h, inlat, inlon, flags, /* inputs */
self->values_key, /* outputs to set the 'self' object */
self->radius,
self->Ni,
self->Nj,
&(self->lats),

View File

@ -110,7 +110,6 @@ static int find(grib_nearest* nearest, grib_handle* h,
nearest, h, inlat, inlon, flags, /* inputs */
self->values_key, /* outputs to set the 'self' object */
self->radius,
self->Ni,
self->Nj,
&(self->lats),

View File

@ -119,22 +119,15 @@ static int find(grib_nearest* nearest, grib_handle* h,
size_t nvalues = 0;
grib_iterator* iter = NULL;
double lat = 0, lon = 0;
long iradius;
double radius;
double radiusInKm;
int ilat = 0, ilon = 0;
if ((ret = grib_get_size(h, self->values_key, &nvalues)) != GRIB_SUCCESS)
return ret;
nearest->values_count = nvalues;
if (grib_is_missing(h, self->radius, &ret)) {
grib_context_log(h->context, GRIB_LOG_DEBUG, "Key '%s' is missing", self->radius);
return ret ? ret : GRIB_GEOCALCULUS_PROBLEM;
}
if ((ret = grib_get_long(h, self->radius, &iradius)) != GRIB_SUCCESS)
if ((ret = grib_nearest_get_radius(h, &radiusInKm)) != GRIB_SUCCESS)
return ret;
radius = ((double)iradius) / 1000.0;
/* Compute lat/lon info, create iterator etc if it's the 1st time or different grid.
* This is for performance: if the grid has not changed, we only do this once
@ -352,7 +345,7 @@ static int find(grib_nearest* nearest, grib_handle* h,
kk = 0;
for (jj = 0; jj < 2; jj++) {
for (ii = 0; ii < 2; ii++) {
self->distances[kk] = geographic_distance_spherical(radius, inlon, inlat,
self->distances[kk] = geographic_distance_spherical(radiusInKm, inlon, inlat,
self->lons[self->k[kk]], self->lats[self->j[jj]]);
kk++;
}

View File

@ -112,7 +112,6 @@ static int find(grib_nearest* nearest, grib_handle* h,
nearest, h, inlat, inlon, flags, /* inputs */
self->values_key, /* outputs to set the 'self' object */
self->radius,
self->Ni,
self->Nj,
&(self->lats),

View File

@ -110,7 +110,6 @@ static int find(grib_nearest* nearest, grib_handle* h,
nearest, h, inlat, inlon, flags, /* inputs */
self->values_key, /* outputs to set the 'self' object */
self->radius,
self->Ni,
self->Nj,
&(self->lats),

View File

@ -148,8 +148,7 @@ static int find(grib_nearest* nearest, grib_handle* h,
size_t nvalues = 0;
grib_iterator* iter = NULL;
double lat = 0, lon = 0;
long iradius;
double radius;
double radiusInKm;
int ilat = 0, ilon = 0;
get_reduced_row_proc get_reduced_row_func = &grib_get_reduced_row;
@ -164,14 +163,8 @@ static int find(grib_nearest* nearest, grib_handle* h,
return ret;
nearest->values_count = nvalues;
if (grib_is_missing(h, self->radius, &ret)) {
grib_context_log(h->context, GRIB_LOG_DEBUG, "Key '%s' is missing", self->radius);
return ret ? ret : GRIB_GEOCALCULUS_PROBLEM;
}
if ((ret = grib_get_long(h, self->radius, &iradius)) != GRIB_SUCCESS)
if ((ret = grib_nearest_get_radius(h, &radiusInKm)) != GRIB_SUCCESS)
return ret;
radius = ((double)iradius) / 1000.0;
/* Compute lat/lon info, create iterator etc if it's the 1st time or different grid.
* This is for performance: if the grid has not changed, we only do this once
@ -421,7 +414,7 @@ static int find(grib_nearest* nearest, grib_handle* h,
kk = 0;
for (jj = 0; jj < 2; jj++) {
for (ii = 0; ii < 2; ii++) {
self->distances[kk] = geographic_distance_spherical(radius, inlon, inlat,
self->distances[kk] = geographic_distance_spherical(radiusInKm, inlon, inlat,
self->lons[self->k[kk]], self->lats[self->j[jj]]);
kk++;
}

View File

@ -108,13 +108,10 @@ static int find(grib_nearest* nearest, grib_handle* h,
grib_nearest_regular* self = (grib_nearest_regular*) nearest;
int ret=0,kk=0,ii=0,jj=0;
size_t nvalues=0;
double radiusInKm;
long iradius;
double radius;
if( (ret = grib_get_long(h,self->radius,&iradius))!= GRIB_SUCCESS)
if ((ret = grib_nearest_get_radius(h, &radiusInKm)) != GRIB_SUCCESS)
return ret;
radius=((double)iradius)/1000.0;
if (!nearest->h || (flags & GRIB_NEAREST_SAME_DATA)==0 || nearest->h!=h) {
grib_iterator* iter=NULL;
@ -231,8 +228,7 @@ static int find(grib_nearest* nearest, grib_handle* h,
grib_nearest_regular* self = (grib_nearest_regular*)nearest;
int ret = 0, kk = 0, ii = 0, jj = 0;
size_t nvalues = 0;
long iradius;
double radius;
double radiusInKm;
grib_iterator* iter = NULL;
double lat = 0, lon = 0;
@ -248,14 +244,8 @@ static int find(grib_nearest* nearest, grib_handle* h,
return ret;
nearest->values_count = nvalues;
if (grib_is_missing(h, self->radius, &ret)) {
grib_context_log(h->context, GRIB_LOG_DEBUG, "Key '%s' is missing", self->radius);
return ret ? ret : GRIB_GEOCALCULUS_PROBLEM;
}
if ((ret = grib_get_long(h, self->radius, &iradius)) != GRIB_SUCCESS)
if ((ret = grib_nearest_get_radius(h, &radiusInKm)) != GRIB_SUCCESS)
return ret;
radius = ((double)iradius) / 1000.0;
/* Compute lat/lon info, create iterator etc if it's the 1st time or different grid.
* This is for performance: if the grid has not changed, we only do this once
@ -414,7 +404,7 @@ static int find(grib_nearest* nearest, grib_handle* h,
for (jj = 0; jj < 2; jj++) {
for (ii = 0; ii < 2; ii++) {
self->k[kk] = self->i[ii] + self->lons_count * self->j[jj];
self->distances[kk] = geographic_distance_spherical(radius, inlon, inlat,
self->distances[kk] = geographic_distance_spherical(radiusInKm, inlon, inlat,
self->lons[self->i[ii]], self->lats[self->j[jj]]);
kk++;
}

View File

@ -110,7 +110,6 @@ static int find(grib_nearest* nearest, grib_handle* h,
nearest, h, inlat, inlon, flags, /* inputs */
self->values_key, /* outputs to set the 'self' object */
self->radius,
self->Ni,
self->Nj,
&(self->lats),

View File

@ -233,6 +233,7 @@ if( HAVE_BUILD_TOOLS )
grib_dump_debug
grib_dump_json
grib_local_MeteoFrance
grib_local_NCEP
grib_neg_fctime
codes_split_file
grib_mars_keys)

View File

@ -8,7 +8,7 @@
# virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
. ./include.sh
#set -x
GRIB_INFILE=${data_dir}/regular_gaussian_pressure_level_constant.grib2
REF_FILE=grib_lamb_az_eq_area.ref
@ -19,34 +19,37 @@ GRIB_OUTFILE=lamb_az_eq_area.grib2
DATA_OUTFILE=lamb_data.txt
rm -f $FILTER_FILE $GRIB_OUTFILE $DATA_OUTFILE
# Spherical Earth
# ----------------
# Create a filter
cat > $FILTER_FILE<<EOF
set edition=2;
set gridType="lambert_azimuthal_equal_area";
set edition = 2;
set gridType = "lambert_azimuthal_equal_area";
set Nx = 10;
set Ny = 10;
set values={2};
set numberOfDataPoints=100;
set shapeOfTheEarth=1;
set scaleFactorOfRadiusOfSphericalEarth=0;
set scaledValueOfRadiusOfSphericalEarth=6378388;
set numberOfValues=100;
set values = {2};
set numberOfDataPoints = 100;
set shapeOfTheEarth = 1; # Earth assumed spherical with radius specified (in m) by data producer
set scaleFactorOfRadiusOfSphericalEarth = 0;
set scaledValueOfRadiusOfSphericalEarth = 6378388;
set numberOfValues = 100;
set latitudeOfFirstGridPointInDegrees = 67.575;
set longitudeOfFirstGridPointInDegrees = -33.4944;
set longitudeOfFirstGridPointInDegrees = 326.5056;
set Dx = 5000000;
set Dy = 5000000;
set standardParallel = 48000000;
set centralLongitude = 9000000;
write "lamb_az_eq_area.grib2";
write;
EOF
# Use this filter and the input GRIB to create a new GRIB
${tools_dir}/grib_filter $FILTER_FILE $GRIB_INFILE
if [ ! -f "$GRIB_OUTFILE" ]; then
echo Failed to create output GRIB from filter >&2
exit 1
fi
# Now get the data from the newly created GRIB file
rm -f "$GRIB_OUTFILE"
${tools_dir}/grib_filter -o $GRIB_OUTFILE $FILTER_FILE $GRIB_INFILE
# Now run the Geoiterator on the newly created GRIB file
${tools_dir}/grib_get_data $GRIB_OUTFILE > $DATA_OUTFILE
# Compare output with reference. If the diff fails, script will immediately exit with status 1
@ -59,5 +62,36 @@ grib_check_key_equals $GRIB_OUTFILE xDirectionGridLengthInMetres,yDirectionGridL
${tools_dir}/grib_ls -l 67,-33,1 $GRIB_OUTFILE
# Oblate spheroid
# --------------------
cat > $FILTER_FILE<<EOF
set edition = 2;
set gridType = "lambert_azimuthal_equal_area";
set Nx = 10;
set Ny = 10;
set values = {2};
set numberOfDataPoints = 100;
set shapeOfTheEarth = 4; # Earth assumed oblate spheroid
set numberOfValues = 100;
set latitudeOfFirstGridPointInDegrees = 67.575;
set longitudeOfFirstGridPointInDegrees = 326.5056;
set Dx = 5000000;
set Dy = 5000000;
set standardParallel = 48000000;
set centralLongitude = 9000000;
write;
EOF
# Use this filter and the input GRIB to create a new GRIB
rm -f "$GRIB_OUTFILE"
${tools_dir}/grib_filter -o $GRIB_OUTFILE $FILTER_FILE $GRIB_INFILE
${tools_dir}/grib_get_data $GRIB_OUTFILE
# Clean up
rm -f $FILTER_FILE $GRIB_OUTFILE $DATA_OUTFILE
rm -f $FILTER_FILE $DATA_OUTFILE
rm -f $GRIB_OUTFILE

20
tests/grib_local_NCEP.sh Executable file
View File

@ -0,0 +1,20 @@
#!/bin/sh
# (C) Copyright 2005- ECMWF.
#
# 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.
#
# In applying this licence, ECMWF does not waive the privileges and immunities granted to it by
# virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.
#
. ./include.sh
temp=output.grib_local_NCEP.grib
sample=$ECCODES_SAMPLES_PATH/GRIB2.tmpl
${tools_dir}/grib_set -s centre=kwbc,discipline=3,parameterCategory=192,parameterNumber=35 $sample $temp
grib_check_key_equals $temp paramId,shortName '7001339 SRFA176'
rm -f $temp

View File

@ -51,5 +51,38 @@ Idx lat lon dist
EOF
diff $tempRef $temp
# ECC-1295: regular lat/lon on ellipsoid
# ----------------------------------------
sample2=$ECCODES_SAMPLES_PATH/GRIB2.tmpl
${tools_dir}/grib_set -s shapeOfTheEarth=2 $sample2 $temp
grib_check_key_equals $sample2 earthIsOblate 0
grib_check_key_equals $temp earthIsOblate 1
${tools_dir}/grib_ls -l 0,0 $temp
# reduced lat/lon on ellipsoid
# ----------------------------------------
sample2=$ECCODES_SAMPLES_PATH/reduced_ll_sfc_grib2.tmpl
${tools_dir}/grib_set -s shapeOfTheEarth=4 $sample2 $temp
grib_check_key_equals $sample2 earthIsOblate 0
grib_check_key_equals $temp earthIsOblate 1
${tools_dir}/grib_ls -l 0,0 $temp
# regular gaussian on ellipsoid
# ----------------------------------------
sample2=$ECCODES_SAMPLES_PATH/regular_gg_pl_grib2.tmpl
${tools_dir}/grib_set -s shapeOfTheEarth=5 $sample2 $temp
grib_check_key_equals $sample2 earthIsOblate 0
grib_check_key_equals $temp earthIsOblate 1
${tools_dir}/grib_ls -l 0,0 $temp
# reduced gaussian on ellipsoid
# ----------------------------------------
sample2=$ECCODES_SAMPLES_PATH/reduced_gg_pl_48_grib2.tmpl
${tools_dir}/grib_set -s shapeOfTheEarth=5 $sample2 $temp
grib_check_key_equals $sample2 earthIsOblate 0
grib_check_key_equals $temp earthIsOblate 1
${tools_dir}/grib_ls -l 0,0 $temp
# Clean up
rm -f $temp $tempRef

View File

@ -59,7 +59,7 @@ GRIB_INLINE static int grib_inline_strcmp(const char* a, const char* b)
return (*a == 0 && *b == 0) ? 0 : 1;
}
typedef double (*compare_double_proc)(double*, double*, double*);
typedef double (*compare_double_proc)(const double*, const double*, const double*);
typedef struct grib_error grib_error;
struct grib_error
@ -136,7 +136,7 @@ static void release_keys_list()
}
}
GRIB_INLINE static double compare_double_absolute(double* a, double* b, double* err)
GRIB_INLINE static double compare_double_absolute(const double* a, const double* b, const double* err)
{
double ret = 0;
double d = fabs(*a - *b);
@ -183,7 +183,7 @@ static void write_messages(grib_handle* handle1, grib_handle* handle2)
write_message(handle2, "error2");
}
static double compare_double_relative(double* a, double* b, double* err)
static double compare_double_relative(const double* a, const double* b, const double* err)
{
double relativeError;

View File

@ -46,7 +46,7 @@ const char* tool_description =
const char* tool_name = "grib_compare";
const char* tool_usage = "[options] grib_file1 grib_file2";
typedef double (*compare_double_proc)(double*, double*, double);
typedef double (*compare_double_proc)(const double*, const double*, double);
static int compare_handles(grib_handle* h1, grib_handle* h2, grib_runtime_options* options);
typedef struct grib_error grib_error;
@ -124,7 +124,7 @@ GRIB_INLINE static int grib_inline_rstrcmp(const char* a, const char* b)
}
/* Returns 0 when the values are considered the same */
static double compare_double_absolute(double* a, double* b, double tolerance)
static double compare_double_absolute(const double* a, const double* b, double tolerance)
{
double ret = 0;
double d = fabs(*a - *b);
@ -136,7 +136,7 @@ static double compare_double_absolute(double* a, double* b, double tolerance)
}
/* Returns 0 when the values are considered the same */
static double compare_double_relative(double* a, double* b, double tolerance)
static double compare_double_relative(const double* a, const double* b, double tolerance)
{
double relativeError;

View File

@ -60,7 +60,7 @@ GRIB_INLINE static int grib_inline_strcmp(const char* a, const char* b)
return (*a == 0 && *b == 0) ? 0 : 1;
}
typedef double (*compare_double_proc)(double*, double*, double*);
typedef double (*compare_double_proc)(const double*, const double*, const double*);
typedef struct grib_error grib_error;
struct grib_error
@ -97,7 +97,7 @@ static int start = -1;
static int end = -1;
static int write_count = 0;
GRIB_INLINE static double compare_double_absolute(double* a, double* b, double* err)
GRIB_INLINE static double compare_double_absolute(const double* a, const double* b, const double* err)
{
double ret = 0;
double d = fabs(*a - *b);
@ -144,7 +144,7 @@ static void write_messages(grib_handle* h1, grib_handle* h2)
write_message(h2, "error2");
}
static double compare_double_relative(double* a, double* b, double* err)
static double compare_double_relative(const double* a, const double* b, const double* err)
{
double relativeError;