<p>This package is the <b>Python</b> interface to <aclass="el"href="namespaceec_codes.html"title="This package is the Python interface to ecCodes. ">ecCodes</a>.
<trclass="memdesc:ab06cc33b116103a54fadb4e2735e579a"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Load in memory a GTS message from a file. <ahref="#ab06cc33b116103a54fadb4e2735e579a">More...</a><br/></td></tr>
<trclass="memdesc:aabd87fd89cfac4d21ec014b838174e3c"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Load in memory a METAR message from a file. <ahref="#aabd87fd89cfac4d21ec014b838174e3c">More...</a><br/></td></tr>
<trclass="memdesc:ab1788f3653df85dd90ac99f40daf98c4"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Load in memory a message from a file for a given product. <ahref="#ab1788f3653df85dd90ac99f40daf98c4">More...</a><br/></td></tr>
<trclass="memdesc:af4a4c95465d2026ad549920b07150bab"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Load in memory a message from a file. <ahref="#af4a4c95465d2026ad549920b07150bab">More...</a><br/></td></tr>
<trclass="memdesc:a44c10386781390c16f1a567590b33c11"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Load in memory a BUFR message from a file. <ahref="#a44c10386781390c16f1a567590b33c11">More...</a><br/></td></tr>
<trclass="memdesc:a80246f356012448955e2e75572a8d210"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Load in memory a grib message from a file. <ahref="#a80246f356012448955e2e75572a8d210">More...</a><br/></td></tr>
<trclass="memdesc:a5c7a1d8a2c7802edd327a35cb35984e7"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Count the messages in a file. <ahref="#a5c7a1d8a2c7802edd327a35cb35984e7">More...</a><br/></td></tr>
<trclass="memdesc:aed3ce5487d6bdd24e1127e638c9cfd54"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Turn on the support for multiple fields in a single message. <ahref="#aed3ce5487d6bdd24e1127e638c9cfd54">More...</a><br/></td></tr>
<trclass="memdesc:aaec2118b6fca48e59ded7d2099e81009"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Turn off the support for multiple fields in a single message. <ahref="#aaec2118b6fca48e59ded7d2099e81009">More...</a><br/></td></tr>
<trclass="memdesc:a23859e3fb8802982fe865789d61b181f"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Free the memory for the message referred as msgid. <ahref="#a23859e3fb8802982fe865789d61b181f">More...</a><br/></td></tr>
<trclass="memdesc:a37ff4cf406f9b0b0cd6ede563c1d5ab1"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Get the string value of a key from a message. <ahref="#a37ff4cf406f9b0b0cd6ede563c1d5ab1">More...</a><br/></td></tr>
<trclass="memdesc:acbb0d241a917a3e726792157c1f5d973"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Set the value for a string key in a grib message. <ahref="#acbb0d241a917a3e726792157c1f5d973">More...</a><br/></td></tr>
<trclass="memdesc:aec0c4f83da942b94d51a3d8b93ecb6c4"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Turn on the compatibility mode with gribex. <ahref="#aec0c4f83da942b94d51a3d8b93ecb6c4">More...</a><br/></td></tr>
<trclass="memdesc:a4c5256c7e609cf3eedf7d695a4b58a45"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Turn off the compatibility mode with gribex. <ahref="#a4c5256c7e609cf3eedf7d695a4b58a45">More...</a><br/></td></tr>
<trclass="memdesc:af13b3e69c2b5ad0ea6b7fd07ac37e367"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Write a message to a file. <ahref="#af13b3e69c2b5ad0ea6b7fd07ac37e367">More...</a><br/></td></tr>
<trclass="memdesc:ac70e34af931428ba9a4874e0ebf75928"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Write a multi field message to a file. <ahref="#ac70e34af931428ba9a4874e0ebf75928">More...</a><br/></td></tr>
<trclass="memdesc:a956a6f84f7b418551cd6c4976c970140"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Append a single field grib message to a multi field grib message. <ahref="#a956a6f84f7b418551cd6c4976c970140">More...</a><br/></td></tr>
<trclass="memdesc:ab07293de06d6ef6c5810ea3f01723884"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Get the size of an array key. <ahref="#ab07293de06d6ef6c5810ea3f01723884">More...</a><br/></td></tr>
<trclass="memdesc:adc7361072916fe6ec52e9cf53f066839"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Get the length of the string version of a key. <ahref="#adc7361072916fe6ec52e9cf53f066839">More...</a><br/></td></tr>
<trclass="memdesc:a587af29aac21a816f8ffd327a1fce779"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Skip the computed keys in a keys iterator. <ahref="#a587af29aac21a816f8ffd327a1fce779">More...</a><br/></td></tr>
<trclass="memdesc:a4b7140ca0dd81372721cffd1d964e4ad"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Skip the coded keys in a keys iterator. <ahref="#a4b7140ca0dd81372721cffd1d964e4ad">More...</a><br/></td></tr>
<trclass="memdesc:acb01114683ef4aacbf1609eb3a435055"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Skip the edition specific keys in a keys iterator. <ahref="#acb01114683ef4aacbf1609eb3a435055">More...</a><br/></td></tr>
<trclass="memdesc:a57f7a5a0f6975e1357e5aa1dc4715e0c"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Skip the duplicate keys in a keys iterator. <ahref="#a57f7a5a0f6975e1357e5aa1dc4715e0c">More...</a><br/></td></tr>
<trclass="memdesc:afb6f25e55aab91e1cf273403c4151c70"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Skip the read_only keys in a keys iterator. <ahref="#afb6f25e55aab91e1cf273403c4151c70">More...</a><br/></td></tr>
<trclass="memdesc:a6eedc94ffbffad66b92d3fccfc1ec692"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Skip the function keys in a keys iterator. <ahref="#a6eedc94ffbffad66b92d3fccfc1ec692">More...</a><br/></td></tr>
<trclass="memdesc:af3e5c3e1ee4d4b1e2f37862b9de92273"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Create a new geoiterator for the given message, using its geometry and values. <ahref="#af3e5c3e1ee4d4b1e2f37862b9de92273">More...</a><br/></td></tr>
<trclass="memdesc:a18cdf4111053dc0c387a5fbddb0aaf30"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Delete a geoiterator and free memory. <ahref="#a18cdf4111053dc0c387a5fbddb0aaf30">More...</a><br/></td></tr>
<trclass="memdesc:ae2bc65694ff09cdd253ef35f760ef841"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Retrieve the next value from a geoiterator. <ahref="#ae2bc65694ff09cdd253ef35f760ef841">More...</a><br/></td></tr>
<trclass="memdesc:a199fb77e1395975be732e46f93b3e337"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Create a new iterator on the keys. <ahref="#a199fb77e1395975be732e46f93b3e337">More...</a><br/></td></tr>
<trclass="memdesc:af2eecea5df157516fb60556cbd1283cd"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Advance to the next keys iterator value. <ahref="#af2eecea5df157516fb60556cbd1283cd">More...</a><br/></td></tr>
<trclass="memdesc:a83a077fb2dda1e7f1d317039fc7267d1"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Delete a keys iterator and free memory. <ahref="#a83a077fb2dda1e7f1d317039fc7267d1">More...</a><br/></td></tr>
<trclass="memdesc:aec91e405c936c335c00267eb221c9f91"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Get the name of a key from a keys iterator. <ahref="#aec91e405c936c335c00267eb221c9f91">More...</a><br/></td></tr>
<trclass="memdesc:a921bb3a4c69e51a4c276bd6cf37c2d2c"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Rewind a keys iterator. <ahref="#a921bb3a4c69e51a4c276bd6cf37c2d2c">More...</a><br/></td></tr>
<trclass="memdesc:a88f2a86c370e490dae8e684c957022fd"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Get the value of a key in a grib message as an int. <ahref="#a88f2a86c370e490dae8e684c957022fd">More...</a><br/></td></tr>
<trclass="memdesc:a22a427ff4355e63b2c16c491572ea6b5"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Get the value of a key in a grib message as a float. <ahref="#a22a427ff4355e63b2c16c491572ea6b5">More...</a><br/></td></tr>
<trclass="memdesc:ae623fa09d65a3f699026a86d0e4864da"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Set the integer value for a key in a grib message. <ahref="#ae623fa09d65a3f699026a86d0e4864da">More...</a><br/></td></tr>
<trclass="memdesc:aa619f32357c9107b5b6f96ad1fee4232"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Set the double value for a key in a grib message. <ahref="#aa619f32357c9107b5b6f96ad1fee4232">More...</a><br/></td></tr>
<trclass="memdesc:a643c58a9acad239c081794c74a5b86d9"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Create a new valid message from a sample for a given product. <ahref="#a643c58a9acad239c081794c74a5b86d9">More...</a><br/></td></tr>
<trclass="memdesc:a1c476c5e2dfefa3693df1065e9bf1665"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Create a new valid GRIB message from a sample. <ahref="#a1c476c5e2dfefa3693df1065e9bf1665">More...</a><br/></td></tr>
<trclass="memdesc:ae042f8fe1cc86718ce658f3b992c87a2"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Create a new valid BUFR message from a sample. <ahref="#ae042f8fe1cc86718ce658f3b992c87a2">More...</a><br/></td></tr>
<trclass="memdesc:a3ba2700ed57b0a155f7dd76f6b1d8ab9"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Copy data values from a BUFR message msgid_src to another message msgid_dst. <ahref="#a3ba2700ed57b0a155f7dd76f6b1d8ab9">More...</a><br/></td></tr>
<trclass="memdesc:ab49cb36625cd87b9d898844b1df32516"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Create a copy of a message. <ahref="#ab49cb36625cd87b9d898844b1df32516">More...</a><br/></td></tr>
<trclass="memdesc:ac18c28cc7bd146dad986e03511fb7340"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Set the value of the key to a double array. <ahref="#ac18c28cc7bd146dad986e03511fb7340">More...</a><br/></td></tr>
<trclass="memdesc:a441ff456dc9990951bf242f4d542713a"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Get the value of the key as a NumPy array of doubles. <ahref="#a441ff456dc9990951bf242f4d542713a">More...</a><br/></td></tr>
<trclass="memdesc:a5c08a280c84117684dfe5705dfad29f5"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Get the value of the key as a list of strings. <ahref="#a5c08a280c84117684dfe5705dfad29f5">More...</a><br/></td></tr>
<trclass="memdesc:a54b35eededa62b2cb3a32b90060c0f2c"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Set the value of the key to a string array. <ahref="#a54b35eededa62b2cb3a32b90060c0f2c">More...</a><br/></td></tr>
<trclass="memdesc:a59e415f83b7f26b4575a5700ece65c14"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Set the value of the key to an integer array. <ahref="#a59e415f83b7f26b4575a5700ece65c14">More...</a><br/></td></tr>
<trclass="memdesc:a680c8ecbf2104d69083c68ea6184192d"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Get the integer array of values for a key from a grib message. <ahref="#a680c8ecbf2104d69083c68ea6184192d">More...</a><br/></td></tr>
<trclass="memdesc:a0b1fb93a9f550c971a7e08ca16bb5100"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Create a new multi field and return its id. <ahref="#a0b1fb93a9f550c971a7e08ca16bb5100">More...</a><br/></td></tr>
<trclass="memdesc:a1e9477394be21ac60be3d6841660c137"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Release a multi field from memory. <ahref="#a1e9477394be21ac60be3d6841660c137">More...</a><br/></td></tr>
<trclass="memdesc:a6c83d2b9572083c7a83c9c5d39010b14"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Copy the value of all the keys belonging to a namespace from the source message to the destination message. <ahref="#a6c83d2b9572083c7a83c9c5d39010b14">More...</a><br/></td></tr>
<trclass="memdesc:ae89dc44888bfbba102e6c9332839fc51"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Create a new index from a file. <ahref="#ae89dc44888bfbba102e6c9332839fc51">More...</a><br/></td></tr>
<trclass="memdesc:a1c18ea67e5ce00500824676691b4bc4a"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Add a file to an index. <ahref="#a1c18ea67e5ce00500824676691b4bc4a">More...</a><br/></td></tr>
<trclass="memdesc:ae5a40e31f81dd4cdddf8ddc71e833395"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Delete an index. <ahref="#ae5a40e31f81dd4cdddf8ddc71e833395">More...</a><br/></td></tr>
<trclass="memdesc:ab9369968f436ad85084ec1d48e9324c7"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Get the number of distinct values for the index key. <ahref="#ab9369968f436ad85084ec1d48e9324c7">More...</a><br/></td></tr>
<trclass="memdesc:aeaf2ac58b4a90bd09595986d49228d7c"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Get the distinct values of the key in argument contained in the index. <ahref="#aeaf2ac58b4a90bd09595986d49228d7c">More...</a><br/></td></tr>
<trclass="memdesc:a19b8c07a5ab06944488e66ce434a615b"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Get the distinct values of the key in argument contained in the index. <ahref="#a19b8c07a5ab06944488e66ce434a615b">More...</a><br/></td></tr>
<trclass="memdesc:ab28f95174ea3e8eb760d4019598ec9e6"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Get the distinct values of the key in argument contained in the index. <ahref="#ab28f95174ea3e8eb760d4019598ec9e6">More...</a><br/></td></tr>
<trclass="memdesc:ada63dc27281c249035da5b54e6ec0966"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Select the message subset with key==value. <ahref="#ada63dc27281c249035da5b54e6ec0966">More...</a><br/></td></tr>
<trclass="memdesc:a98ef64298972c19d87f4fa54b125a268"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Select the message subset with key==value. <ahref="#a98ef64298972c19d87f4fa54b125a268">More...</a><br/></td></tr>
<trclass="memdesc:af9fa4123658007a2362baa9afd055063"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Select the message subset with key==value. <ahref="#af9fa4123658007a2362baa9afd055063">More...</a><br/></td></tr>
<trclass="memdesc:a6fc3995f61a5f34933afd0aeb6427bf6"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Create a new handle from an index after having selected the key values. <ahref="#a6fc3995f61a5f34933afd0aeb6427bf6">More...</a><br/></td></tr>
<trclass="memdesc:aa1a3c2d7800aa28297e3a9a11c4f6c0f"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Get the size of a coded message. <ahref="#aa1a3c2d7800aa28297e3a9a11c4f6c0f">More...</a><br/></td></tr>
<trclass="memdesc:a72cc99e87c999a3cd225323fdcddfad7"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Get the offset of a coded message. <ahref="#a72cc99e87c999a3cd225323fdcddfad7">More...</a><br/></td></tr>
<trclass="memdesc:a3b085fe4c2ea0090a74959b396b2287f"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Get as double the i-th element of the "key" array. <ahref="#a3b085fe4c2ea0090a74959b396b2287f">More...</a><br/></td></tr>
<trclass="memdesc:af0708f169680a9b753789a3d61f7f9ef"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Get as double array the elements of the "key" array whose indexes are listed in the input array. <ahref="#af0708f169680a9b753789a3d61f7f9ef">More...</a><br/></td></tr>
<trclass="memdesc:a8558de4f563b57fe8104d024eb90e7d2"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Retrieve the elements of the key array for the indexes specified in the input. <ahref="#a8558de4f563b57fe8104d024eb90e7d2">More...</a><br/></td></tr>
<trclass="memdesc:affddd8311b1127306fa02ce26023d89e"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Set as missing the value for a key in a grib message. <ahref="#affddd8311b1127306fa02ce26023d89e">More...</a><br/></td></tr>
<trclass="memdesc:a997587cb4079552273d224fd3434463b"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Set the values for several keys at once in a grib message. <ahref="#a997587cb4079552273d224fd3434463b">More...</a><br/></td></tr>
<trclass="memdesc:a2dd162c68a1326619a34b45e56fdb46c"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Check if the value of a key is MISSING. <ahref="#a2dd162c68a1326619a34b45e56fdb46c">More...</a><br/></td></tr>
<trclass="memdesc:adbc403f07e0bcc151d8b0fb1365492ff"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Check if a key is defined (exists) <ahref="#adbc403f07e0bcc151d8b0fb1365492ff">More...</a><br/></td></tr>
<trclass="memdesc:a134bac0edaf47f29051ad905a30fb63e"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Find the nearest grid point or the nearest four grid points to a given latitude/longitude. <ahref="#a134bac0edaf47f29051ad905a30fb63e">More...</a><br/></td></tr>
<trclass="memdesc:a1250285cb0770393bf6078f3ee3340a2"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Retrieve the native type of a key. <ahref="#a1250285cb0770393bf6078f3ee3340a2">More...</a><br/></td></tr>
<trclass="memdesc:a1ba4d3b6473499af0581cf52eb4cad0b"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Get the value of a key in a grib message. <ahref="#a1ba4d3b6473499af0581cf52eb4cad0b">More...</a><br/></td></tr>
<trclass="memdesc:a648bae4beadb6a82698da40e08323be9"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Get the contents of an array key. <ahref="#a648bae4beadb6a82698da40e08323be9">More...</a><br/></td></tr>
<trclass="memdesc:a0af74e12fba25379db678363f5bdafb3"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Retrieve the contents of the 'values' key for a GRIB message. <ahref="#a0af74e12fba25379db678363f5bdafb3">More...</a><br/></td></tr>
<trclass="memdesc:abc699d0bb7a7dded968ee0111342ffd0"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Set the contents of the 'values' key. <ahref="#abc699d0bb7a7dded968ee0111342ffd0">More...</a><br/></td></tr>
<trclass="memdesc:abb5cff8e4911614c8b04032fb014ea07"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Set the value for a scalar key in a grib message. <ahref="#abb5cff8e4911614c8b04032fb014ea07">More...</a><br/></td></tr>
<trclass="memdesc:a1e25a749b9cffb9b4b391cde66a3333c"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Set the value for an array key in a message. <ahref="#a1e25a749b9cffb9b4b391cde66a3333c">More...</a><br/></td></tr>
<trclass="memdesc:a267636dba6361f74b330275a1f8e1ed7"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Get the distinct values of an index key. <ahref="#a267636dba6361f74b330275a1f8e1ed7">More...</a><br/></td></tr>
<trclass="memdesc:a92041c59bf04e6db88395077802dfe74"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Select the message subset with key==value. <ahref="#a92041c59bf04e6db88395077802dfe74">More...</a><br/></td></tr>
<trclass="memdesc:a32c66888832215b2860535729ee616f8"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Write an index to a file for later reuse. <ahref="#a32c66888832215b2860535729ee616f8">More...</a><br/></td></tr>
<trclass="memdesc:a13866152bfd07b8cd418f6cf8c73d7ab"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Loads an index previously saved with <aclass="el"href="namespaceec_codes.html#a32c66888832215b2860535729ee616f8">codes_index_write</a> to a file. <ahref="#a13866152bfd07b8cd418f6cf8c73d7ab">More...</a><br/></td></tr>
<trclass="memdesc:a85e89c8eae4fb209ae0a7c566e4a2cb1"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Do not fail if the message has the wrong length. <ahref="#a85e89c8eae4fb209ae0a7c566e4a2cb1">More...</a><br/></td></tr>
<trclass="memdesc:add6a557c085ea401fc9529ed140025ef"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Get the api version. <ahref="#add6a557c085ea401fc9529ed140025ef">More...</a><br/></td></tr>
<trclass="memdesc:a0f446397a9956ed5518ff6461fcc17f0"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Get the binary message. <ahref="#a0f446397a9956ed5518ff6461fcc17f0">More...</a><br/></td></tr>
<trclass="memdesc:a8b42a0c20ab81efa5a214dacc0b75d58"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Create a grib handle from a message in memory. <ahref="#a8b42a0c20ab81efa5a214dacc0b75d58">More...</a><br/></td></tr>
<trclass="memdesc:a63f59e45ba10997c9e30bf63ea5f66e0"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Set the definitions path. <ahref="#a63f59e45ba10997c9e30bf63ea5f66e0">More...</a><br/></td></tr>
<trclass="memdesc:ab7f299aaed48129491cc365a8ca289c2"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Set the samples path. <ahref="#ab7f299aaed48129491cc365a8ca289c2">More...</a><br/></td></tr>
<divclass="textblock"><p>This package is the <b>Python</b> interface to <aclass="el"href="namespaceec_codes.html"title="This package is the Python interface to ecCodes. ">ecCodes</a>. </p>
<p>It offers almost one to one bindings to the C API functions.</p>
<p>The Python interface to <aclass="el"href="namespaceec_codes.html"title="This package is the Python interface to ecCodes. ">ecCodes</a> uses the <ahref="http://numpy.scipy.org/"><b>NumPy</b></a> package as the container of choice for the possible arrays of values that can be encoded/decoded in and from a grib message. Numpy is a package used for scientific computing in Python and an efficient container for generic data.</p>
<p>The Python interface can be enabled/disabled from CMake by using the following flag:<br/>
<p>Copy data values from a BUFR message msgid_src to another message msgid_dst. </p>
<p>Copies all the values in the data section that are present in the same position in the data tree and with the same number of values to the output handle.</p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">msgid_src</td><td>id of the message from which the data are copied </td></tr>
<tr><tdclass="paramname">msgid_dst</td><td>id of the message to which the data are copied </td></tr>
</table>
</dd>
</dl>
<dlclass="section return"><dt>Returns</dt><dd>id of new message </dd></dl>
<p>References <aclass="el"href="namespaceec_codes.html#a441ff456dc9990951bf242f4d542713a">codes_get_double_array()</a>, <aclass="el"href="namespaceec_codes.html#ab07293de06d6ef6c5810ea3f01723884">codes_get_size()</a>, and <aclass="el"href="namespaceec_codes.html#a5c08a280c84117684dfe5705dfad29f5">codes_get_string_array()</a>.</p>
<p>Referenced by <aclass="el"href="namespaceec_codes.html#a643c58a9acad239c081794c74a5b86d9">codes_new_from_samples()</a>.</p>
<p>Referenced by <aclass="el"href="namespaceec_codes.html#af4a4c95465d2026ad549920b07150bab">codes_any_new_from_file()</a>, and <aclass="el"href="namespaceec_codes.html#aabd87fd89cfac4d21ec014b838174e3c">codes_metar_new_from_file()</a>.</p>
<p>Create a new valid BUFR message from a sample. </p>
<p>The available samples are picked up from the directory pointed to by the environment variable ECCODES_SAMPLES_PATH. To know where the samples directory is run the codes_info tool.<br/>
<p>Referenced by <aclass="el"href="namespaceec_codes.html#aa619f32357c9107b5b6f96ad1fee4232">codes_set_double()</a>, and <aclass="el"href="namespaceec_codes.html#ae623fa09d65a3f699026a86d0e4864da">codes_set_long()</a>.</p>
<p>The type of value returned depends on the native type of the requested key. The type of value returned can be forced by using the type argument of the function. The type argument can be int, float or str.</p>
<p>The <em>msgid</em> references a grib message loaded in memory.</p>
<dlclass="section see"><dt>See Also</dt><dd><aclass="el"href="namespaceec_codes.html#a80246f356012448955e2e75572a8d210"title="Load in memory a grib message from a file. ">codes_grib_new_from_file</a>, <aclass="el"href="namespaceec_codes.html#a23859e3fb8802982fe865789d61b181f"title="Free the memory for the message referred as msgid. ">codes_release</a>, <aclass="el"href="namespaceec_codes.html#abb5cff8e4911614c8b04032fb014ea07"title="Set the value for a scalar key in a grib message. ">codes_set</a></dd></dl>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">msgid</td><td>id of the grib loaded in memory </td></tr>
<tr><tdclass="paramname">key</td><td>key name </td></tr>
<tr><tdclass="paramname">ktype</td><td>the type we want the output in (int, float or str), native type if not specified </td></tr>
</table>
</dd>
</dl>
<dlclass="section return"><dt>Returns</dt><dd>scalar value of key as int, float or str </dd></dl>
<p>The output array will be stored in a NumPy ndarray. The type of the array returned depends on the native type of the requested key. The type of value returned can be forced by using the type argument of the function. The type argument can be int, float or string.</p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">msgid</td><td>id of the message loaded in memory </td></tr>
<tr><tdclass="paramname">key</td><td>the key to get the value for </td></tr>
<tr><tdclass="paramname">ktype</td><td>the type we want the output in (can be int, float or string), native type if not specified </td></tr>
<p>Referenced by <aclass="el"href="namespaceec_codes.html#a134bac0edaf47f29051ad905a30fb63e">codes_grib_find_nearest()</a>, and <aclass="el"href="namespaceec_codes.html#a83a077fb2dda1e7f1d317039fc7267d1">codes_keys_iterator_delete()</a>.</p>
<p>Referenced by <aclass="el"href="namespaceec_codes.html#a3ba2700ed57b0a155f7dd76f6b1d8ab9">codes_bufr_copy_data()</a>, <aclass="el"href="namespaceec_codes.html#a1250285cb0770393bf6078f3ee3340a2">codes_get_native_type()</a>, and <aclass="el"href="namespaceec_codes.html#a134bac0edaf47f29051ad905a30fb63e">codes_grib_find_nearest()</a>.</p>
<p>Referenced by <aclass="el"href="namespaceec_codes.html#a134bac0edaf47f29051ad905a30fb63e">codes_grib_find_nearest()</a>, and <aclass="el"href="namespaceec_codes.html#af2eecea5df157516fb60556cbd1283cd">codes_keys_iterator_next()</a>.</p>
<p>Referenced by <aclass="el"href="namespaceec_codes.html#a5c08a280c84117684dfe5705dfad29f5">codes_get_string_array()</a>, and <aclass="el"href="namespaceec_codes.html#a134bac0edaf47f29051ad905a30fb63e">codes_grib_find_nearest()</a>.</p>
<p>Returns the binary string message associated with the grib identified by msgid.</p>
<dlclass="section see"><dt>See Also</dt><dd><aclass="el"href="namespaceec_codes.html#a8b42a0c20ab81efa5a214dacc0b75d58"title="Create a grib handle from a message in memory. ">codes_new_from_message</a></dd></dl>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">msgid</td><td>id of the grib loaded in memory </td></tr>
</table>
</dd>
</dl>
<dlclass="section return"><dt>Returns</dt><dd>binary string message associated with msgid </dd></dl>
<p>References <aclass="el"href="namespaceec_codes.html#a441ff456dc9990951bf242f4d542713a">codes_get_double_array()</a>, and <aclass="el"href="namespaceec_codes.html#abc699d0bb7a7dded968ee0111342ffd0">codes_set_values()</a>.</p>
<p>Referenced by <aclass="el"href="namespaceec_codes.html#a134bac0edaf47f29051ad905a30fb63e">codes_grib_find_nearest()</a>, and <aclass="el"href="namespaceec_codes.html#a997587cb4079552273d224fd3434463b">codes_set_key_vals()</a>.</p>
<p>Referenced by <aclass="el"href="namespaceec_codes.html#a3ba2700ed57b0a155f7dd76f6b1d8ab9">codes_bufr_copy_data()</a>, <aclass="el"href="namespaceec_codes.html#ab49cb36625cd87b9d898844b1df32516">codes_clone()</a>, <aclass="el"href="namespaceec_codes.html#a5c08a280c84117684dfe5705dfad29f5">codes_get_string_array()</a>, and <aclass="el"href="namespaceec_codes.html#ac70e34af931428ba9a4874e0ebf75928">codes_grib_multi_write()</a>.</p>
<p>References <aclass="el"href="namespaceec_codes.html#a4c5256c7e609cf3eedf7d695a4b58a45">codes_gribex_mode_off()</a>, and <aclass="el"href="namespaceec_codes.html#aec0c4f83da942b94d51a3d8b93ecb6c4">codes_gribex_mode_on()</a>.</p>
<p>Referenced by <aclass="el"href="namespaceec_codes.html#a134bac0edaf47f29051ad905a30fb63e">codes_grib_find_nearest()</a>, and <aclass="el"href="namespaceec_codes.html#aaec2118b6fca48e59ded7d2099e81009">codes_grib_multi_support_off()</a>.</p>
<p>References <aclass="el"href="namespaceec_codes.html#a680c8ecbf2104d69083c68ea6184192d">codes_get_long_array()</a>, <aclass="el"href="namespaceec_codes.html#ab07293de06d6ef6c5810ea3f01723884">codes_get_size()</a>, and <aclass="el"href="namespaceec_codes.html#a0b1fb93a9f550c971a7e08ca16bb5100">codes_grib_multi_new()</a>.</p>
<p>Referenced by <aclass="el"href="namespaceec_codes.html#a3ba2700ed57b0a155f7dd76f6b1d8ab9">codes_bufr_copy_data()</a>, and <aclass="el"href="namespaceec_codes.html#a134bac0edaf47f29051ad905a30fb63e">codes_grib_find_nearest()</a>.</p>
<p>References <aclass="el"href="namespaceec_codes.html#a4b7140ca0dd81372721cffd1d964e4ad">codes_skip_coded()</a>, and <aclass="el"href="namespaceec_codes.html#acb01114683ef4aacbf1609eb3a435055">codes_skip_edition_specific()</a>.</p>
<p>Referenced by <aclass="el"href="namespaceec_codes.html#a956a6f84f7b418551cd6c4976c970140">codes_grib_multi_append()</a>, and <aclass="el"href="namespaceec_codes.html#a23859e3fb8802982fe865789d61b181f">codes_release()</a>.</p>
<p>References <aclass="el"href="namespaceec_codes.html#a83a077fb2dda1e7f1d317039fc7267d1">codes_keys_iterator_delete()</a>, and <aclass="el"href="namespaceec_codes.html#af2eecea5df157516fb60556cbd1283cd">codes_keys_iterator_next()</a>.</p>
<p>Referenced by <aclass="el"href="namespaceec_codes.html#a6eedc94ffbffad66b92d3fccfc1ec692">codes_skip_function()</a>.</p>
<tr><tdclass="paramname">ingribid</td><td>id of the input single grib </td></tr>
<tr><tdclass="paramname">startsection</td><td>starting from startsection (included) all the sections are copied from the input single grib to the output multi grib </td></tr>
<tr><tdclass="paramname">multigribid</td><td>id of the output multi filed grib </td></tr>
<p>References <aclass="el"href="namespaceec_codes.html#ab9369968f436ad85084ec1d48e9324c7">codes_index_get_size()</a>, and <aclass="el"href="namespaceec_codes.html#ae5a40e31f81dd4cdddf8ddc71e833395">codes_index_release()</a>.</p>
<p>Load in memory a grib message from a file. </p>
<p>The message can be accessed through its gribid and will be available<br/>
until <aclass="el"href="namespaceec_codes.html#a23859e3fb8802982fe865789d61b181f">codes_release</a> is called.<br/>
The message can be loaded headers only by using the headers_only argument. Default is to have the headers only option set to off (False). If set to on (True), data values will be skipped. This will result in a significant performance gain if one is only interested in browsing through messages to retrieve metadata. Any attempt to retrieve data values keys when in the headers only mode will result in a key not found error.</p>
<p>References <aclass="el"href="namespaceec_codes.html#a5c7a1d8a2c7802edd327a35cb35984e7">codes_count_in_file()</a>, and <aclass="el"href="namespaceec_codes.html#aed3ce5487d6bdd24e1127e638c9cfd54">codes_grib_multi_support_on()</a>.</p>
<p>Referenced by <aclass="el"href="namespaceec_codes.html#a44c10386781390c16f1a567590b33c11">codes_bufr_new_from_file()</a>, and <aclass="el"href="namespaceec_codes.html#aabd87fd89cfac4d21ec014b838174e3c">codes_metar_new_from_file()</a>.</p>
<p>Create a new valid GRIB message from a sample. </p>
<p>The available samples are picked up from the directory pointed to by the environment variable ECCODES_SAMPLES_PATH. To know where the samples directory is run the codes_info tool.<br/>
<p>References <aclass="el"href="namespaceec_codes.html#add6a557c085ea401fc9529ed140025ef">codes_get_api_version()</a>, and <aclass="el"href="namespaceec_codes.html#ae71963dcd0256ccf5bd849f1f6643f38">codes_gts_header()</a>.</p>
<p>Referenced by <aclass="el"href="namespaceec_codes.html#a0af74e12fba25379db678363f5bdafb3">codes_get_values()</a>.</p>
<p>Referenced by <aclass="el"href="namespaceec_codes.html#ab9369968f436ad85084ec1d48e9324c7">codes_index_get_size()</a>, and <aclass="el"href="namespaceec_codes.html#abc699d0bb7a7dded968ee0111342ffd0">codes_set_values()</a>.</p>
<p>References <aclass="el"href="namespaceec_codes.html#ab9369968f436ad85084ec1d48e9324c7">codes_index_get_size()</a>, and <aclass="el"href="namespaceec_codes.html#ada63dc27281c249035da5b54e6ec0966">codes_index_select_long()</a>.</p>
<p>Referenced by <aclass="el"href="namespaceec_codes.html#a6c83d2b9572083c7a83c9c5d39010b14">codes_copy_namespace()</a>, and <aclass="el"href="namespaceec_codes.html#abc699d0bb7a7dded968ee0111342ffd0">codes_set_values()</a>.</p>
<p>Referenced by <aclass="el"href="namespaceec_codes.html#a1e9477394be21ac60be3d6841660c137">codes_grib_multi_release()</a>, <aclass="el"href="namespaceec_codes.html#aeaf2ac58b4a90bd09595986d49228d7c">codes_index_get_long()</a>, <aclass="el"href="namespaceec_codes.html#ae89dc44888bfbba102e6c9332839fc51">codes_index_new_from_file()</a>, and <aclass="el"href="namespaceec_codes.html#ae5a40e31f81dd4cdddf8ddc71e833395">codes_index_release()</a>.</p>
<p>References <aclass="el"href="namespaceec_codes.html#a98ef64298972c19d87f4fa54b125a268">codes_index_select_double()</a>, and <aclass="el"href="namespaceec_codes.html#af9fa4123658007a2362baa9afd055063">codes_index_select_string()</a>.</p>
<p>Referenced by <aclass="el"href="namespaceec_codes.html#a1c18ea67e5ce00500824676691b4bc4a">codes_index_add_file()</a>, and <aclass="el"href="namespaceec_codes.html#abc699d0bb7a7dded968ee0111342ffd0">codes_set_values()</a>.</p>
<tr><tdclass="paramname">filename</td><td>path of the file to index on </td></tr>
<tr><tdclass="paramname">keys</td><td>sequence of keys to index on. The type of the key can be explicitly declared appending :l for long (or alternatively :i), :d for double, :s for string to the key name. </td></tr>
</table>
</dd>
</dl>
<dlclass="section return"><dt>Returns</dt><dd>index id </dd></dl>
<p>Loads an index previously saved with <aclass="el"href="namespaceec_codes.html#a32c66888832215b2860535729ee616f8">codes_index_write</a> to a file. </p>
<p>References <aclass="el"href="namespaceec_codes.html#a63f59e45ba10997c9e30bf63ea5f66e0">codes_set_definitions_path()</a>, and <aclass="el"href="namespaceec_codes.html#ab7f299aaed48129491cc365a8ca289c2">codes_set_samples_path()</a>.</p>
<p>Referenced by <aclass="el"href="namespaceec_codes.html#a1e25a749b9cffb9b4b391cde66a3333c">codes_set_array()</a>.</p>
<p>References <aclass="el"href="namespaceec_codes.html#a0f446397a9956ed5518ff6461fcc17f0">codes_get_message()</a>, and <aclass="el"href="namespaceec_codes.html#a8b42a0c20ab81efa5a214dacc0b75d58">codes_new_from_message()</a>.</p>
<p>References <aclass="el"href="namespaceec_codes.html#a3b085fe4c2ea0090a74959b396b2287f">codes_get_double_element()</a>, and <aclass="el"href="namespaceec_codes.html#a72cc99e87c999a3cd225323fdcddfad7">codes_get_message_offset()</a>.</p>
<p>Referenced by <aclass="el"href="namespaceec_codes.html#a19b8c07a5ab06944488e66ce434a615b">codes_index_get_string()</a>, and <aclass="el"href="namespaceec_codes.html#abb5cff8e4911614c8b04032fb014ea07">codes_set()</a>.</p>
<p>Referenced by <aclass="el"href="namespaceec_codes.html#aeaf2ac58b4a90bd09595986d49228d7c">codes_index_get_long()</a>, and <aclass="el"href="namespaceec_codes.html#abb5cff8e4911614c8b04032fb014ea07">codes_set()</a>.</p>
<p>Referenced by <aclass="el"href="namespaceec_codes.html#a19b8c07a5ab06944488e66ce434a615b">codes_index_get_string()</a>, and <aclass="el"href="namespaceec_codes.html#abb5cff8e4911614c8b04032fb014ea07">codes_set()</a>.</p>
<p>An index can be loaded back from an index file with <aclass="el"href="namespaceec_codes.html#a13866152bfd07b8cd418f6cf8c73d7ab">codes_index_read</a>.</p>
<p>The value of a key is considered as MISSING when all the bits assigned to it are set to 1. This is different from the actual key missing from the grib message. The value of a key MISSING has a special significance and that can be read about in the WMO documentation.</p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">msgid</td><td>id of the message loaded in memory </td></tr>
<tr><tdclass="paramname">key</td><td>key name </td></tr>
<tr><tdclass="paramname">iterid</td><td>keys iterator id created with <aclass="el"href="namespaceec_codes.html#a199fb77e1395975be732e46f93b3e337">codes_keys_iterator_new</a></td></tr>
<tr><tdclass="paramname">iterid</td><td>keys iterator id created with <aclass="el"href="namespaceec_codes.html#a199fb77e1395975be732e46f93b3e337">codes_keys_iterator_new</a></td></tr>
</table>
</dd>
</dl>
<dlclass="section return"><dt>Returns</dt><dd>key name to be retrieved </dd></dl>
<p>The keys iterator can be navigated to give all the key names which can then be used to get or set the key values with <aclass="el"href="namespaceec_codes.html#a1ba4d3b6473499af0581cf52eb4cad0b">codes_get</a> or <aclass="el"href="namespaceec_codes.html#abb5cff8e4911614c8b04032fb014ea07">codes_set</a>. The set of keys returned can be controlled with the input variable namespace or using the functions <aclass="el"href="namespaceec_codes.html#afb6f25e55aab91e1cf273403c4151c70">codes_skip_read_only</a>, <aclass="el"href="namespaceec_codes.html#a57f7a5a0f6975e1357e5aa1dc4715e0c">codes_skip_duplicates</a>, <aclass="el"href="namespaceec_codes.html#a4b7140ca0dd81372721cffd1d964e4ad">codes_skip_coded</a>,<aclass="el"href="namespaceec_codes.html#a587af29aac21a816f8ffd327a1fce779">codes_skip_computed</a>. If namespace is a non empty string only the keys belonging to that namespace are returned. Example namespaces are "ls" (to get the same default keys as the grib_ls) and "mars" to get the keys used by mars.</p>
<tr><tdclass="paramname">iterid</td><td>keys iterator id created with <aclass="el"href="namespaceec_codes.html#a199fb77e1395975be732e46f93b3e337">codes_keys_iterator_new</a></td></tr>
<p>References <aclass="el"href="namespaceec_codes.html#a88f2a86c370e490dae8e684c957022fd">codes_get_long()</a>, and <aclass="el"href="namespaceec_codes.html#a921bb3a4c69e51a4c276bd6cf37c2d2c">codes_keys_iterator_rewind()</a>.</p>
<p>Referenced by <aclass="el"href="namespaceec_codes.html#ae2bc65694ff09cdd253ef35f760ef841">codes_grib_iterator_next()</a>.</p>
<tr><tdclass="paramname">iterid</td><td>keys iterator id created with <aclass="el"href="namespaceec_codes.html#a199fb77e1395975be732e46f93b3e337">codes_keys_iterator_new</a></td></tr>
<p>References <aclass="el"href="namespaceec_codes.html#a44c10386781390c16f1a567590b33c11">codes_bufr_new_from_file()</a>, <aclass="el"href="namespaceec_codes.html#a80246f356012448955e2e75572a8d210">codes_grib_new_from_file()</a>, and <aclass="el"href="namespaceec_codes.html#ab1788f3653df85dd90ac99f40daf98c4">codes_new_from_file()</a>.</p>
<p>Referenced by <aclass="el"href="namespaceec_codes.html#ab06cc33b116103a54fadb4e2735e579a">codes_gts_new_from_file()</a>, and <aclass="el"href="namespaceec_codes.html#ab1788f3653df85dd90ac99f40daf98c4">codes_new_from_file()</a>.</p>
<p>References <aclass="el"href="namespaceec_codes.html#af4a4c95465d2026ad549920b07150bab">codes_any_new_from_file()</a>, <aclass="el"href="namespaceec_codes.html#ab06cc33b116103a54fadb4e2735e579a">codes_gts_new_from_file()</a>, and <aclass="el"href="namespaceec_codes.html#aabd87fd89cfac4d21ec014b838174e3c">codes_metar_new_from_file()</a>.</p>
<p>Create a new handle from an index after having selected the key values. </p>
<p>All the keys belonging to the index must be selected before calling this function. Successive calls to this function will return all the handles compatible with the constraints defined selecting the values of the index keys.</p>
<p>The message can be accessed through its gribid and will be available until <aclass="el"href="namespaceec_codes.html#a23859e3fb8802982fe865789d61b181f">codes_release</a> is called.</p>
<p>The available samples are picked up from the directory pointed to by the environment variable ECCODES_SAMPLES_PATH. To know where the samples directory is run the codes_info tool.<br/>
<p>References <aclass="el"href="namespaceec_codes.html#adc7361072916fe6ec52e9cf53f066839">codes_get_string_length()</a>, and <aclass="el"href="namespaceec_codes.html#acbb0d241a917a3e726792157c1f5d973">codes_set_string()</a>.</p>
<p>Referenced by <aclass="el"href="namespaceec_codes.html#aed3ce5487d6bdd24e1127e638c9cfd54">codes_grib_multi_support_on()</a>.</p>
<dlclass="section see"><dt>See Also</dt><dd><aclass="el"href="namespaceec_codes.html#a80246f356012448955e2e75572a8d210"title="Load in memory a grib message from a file. ">codes_grib_new_from_file</a>, <aclass="el"href="namespaceec_codes.html#a23859e3fb8802982fe865789d61b181f"title="Free the memory for the message referred as msgid. ">codes_release</a>, <aclass="el"href="namespaceec_codes.html#a1ba4d3b6473499af0581cf52eb4cad0b"title="Get the value of a key in a grib message. ">codes_get</a></dd></dl>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">msgid</td><td>id of the grib loaded in memory </td></tr>
<tr><tdclass="paramname">key</td><td>key name </td></tr>
<tr><tdclass="paramname">value</td><td>scalar value to set for key </td></tr>
<p>Set the value for an array key in a message. </p>
<p>Examples of array keys: "values" - data values "pl" - list of number of points for each latitude in a reduced grid "pv" - list of vertical levels</p>
<p>The input array can be a numpy.ndarray or a python sequence like tuple, list, array, ...</p>
<p>The wrapper will internally try to convert the input to a NumPy array before extracting its data and length. This is possible as NumPy allows the construction of arrays from arbitrary python sequences.</p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">msgid</td><td>id of the message loaded in memory </td></tr>
<tr><tdclass="paramname">key</td><td>key name </td></tr>
<tr><tdclass="paramname">value</td><td>array to set for key </td></tr>
<p>References <aclass="el"href="namespaceec_codes.html#a13866152bfd07b8cd418f6cf8c73d7ab">codes_index_read()</a>, and <aclass="el"href="namespaceec_codes.html#a85e89c8eae4fb209ae0a7c566e4a2cb1">codes_no_fail_on_wrong_length()</a>.</p>
<p>Referenced by <aclass="el"href="namespaceec_codes.html#a648bae4beadb6a82698da40e08323be9">codes_get_array()</a>.</p>
<p>Referenced by <aclass="el"href="namespaceec_codes.html#a1ba4d3b6473499af0581cf52eb4cad0b">codes_get()</a>, and <aclass="el"href="namespaceec_codes.html#a88f2a86c370e490dae8e684c957022fd">codes_get_long()</a>.</p>
<p>Set the value of the key to a double array. </p>
<p>The input array can be a numpy.ndarray or a python sequence like tuple, list, array, ...</p>
<p>The wrapper will internally try to convert the input to a NumPy array before extracting its data and length. This is possible as NumPy allows the construction of arrays from arbitrary python sequences.</p>
<p>The elements of the input sequence need to be convertible to a double.</p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">msgid</td><td>id of the message loaded in memory </td></tr>
<tr><tdclass="paramname">key</td><td>key name </td></tr>
<p>Referenced by <aclass="el"href="namespaceec_codes.html#ae042f8fe1cc86718ce658f3b992c87a2">codes_bufr_new_from_samples()</a>, <aclass="el"href="namespaceec_codes.html#a1ba4d3b6473499af0581cf52eb4cad0b">codes_get()</a>, and <aclass="el"href="namespaceec_codes.html#a0af74e12fba25379db678363f5bdafb3">codes_get_values()</a>.</p>
<p>Set the values for several keys at once in a grib message. </p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">gribid</td><td>id of the grib loaded in memory </td></tr>
<tr><tdclass="paramname">key_vals</td><td>can be a string, list/tuple or dictionary. If a string, format must be "key1=val1,key2=val2" If a list, it must contain strings of the form "key1=val1" </td></tr>
<p>References <aclass="el"href="namespaceec_codes.html#ae042f8fe1cc86718ce658f3b992c87a2">codes_bufr_new_from_samples()</a>, and <aclass="el"href="namespaceec_codes.html#a1c476c5e2dfefa3693df1065e9bf1665">codes_grib_new_from_samples()</a>.</p>
<p>Referenced by <aclass="el"href="namespaceec_codes.html#a1ba4d3b6473499af0581cf52eb4cad0b">codes_get()</a>, and <aclass="el"href="namespaceec_codes.html#aec91e405c936c335c00267eb221c9f91">codes_keys_iterator_get_name()</a>.</p>
<p>Set the value of the key to an integer array. </p>
<p>The input array can be a numpy.ndarray or a python sequence like tuple, list, array, ...</p>
<p>The wrapper will internally try to convert the input to a NumPy array before extracting its data and length. This is possible as NumPy allows the construction of arrays from arbitrary python sequences.</p>
<p>The elements of the input sequence need to be convertible to an int.</p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">msgid</td><td>id of the message loaded in memory </td></tr>
<tr><tdclass="paramname">key</td><td>key name </td></tr>
<p>Referenced by <aclass="el"href="namespaceec_codes.html#a441ff456dc9990951bf242f4d542713a">codes_get_double_array()</a>, and <aclass="el"href="namespaceec_codes.html#a0af74e12fba25379db678363f5bdafb3">codes_get_values()</a>.</p>
<p>Referenced by <aclass="el"href="namespaceec_codes.html#a1ba4d3b6473499af0581cf52eb4cad0b">codes_get()</a>, and <aclass="el"href="namespaceec_codes.html#a23859e3fb8802982fe865789d61b181f">codes_release()</a>.</p>
<p>Set the value of the key to a string array. </p>
<p>The input array can be a python sequence like tuple, list, array, ...</p>
<p>The wrapper will internally try to convert the input to a NumPy array before extracting its data and length. This is possible as NumPy allows the construction of arrays from arbitrary python sequences.</p>
<p>The elements of the input sequence need to be convertible to a double.</p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">msgid</td><td>id of the message loaded in memory </td></tr>
<tr><tdclass="paramname">key</td><td>key name </td></tr>
<p>References <aclass="el"href="namespaceec_codes.html#a6c83d2b9572083c7a83c9c5d39010b14">codes_copy_namespace()</a>, and <aclass="el"href="namespaceec_codes.html#a1e9477394be21ac60be3d6841660c137">codes_grib_multi_release()</a>.</p>
<p>Referenced by <aclass="el"href="namespaceec_codes.html#a0af74e12fba25379db678363f5bdafb3">codes_get_values()</a>, and <aclass="el"href="namespaceec_codes.html#ac18c28cc7bd146dad986e03511fb7340">codes_set_double_array()</a>.</p>
<p>The input array can be a numpy.ndarray or a python sequence like tuple, list, array, ...</p>
<p>The wrapper will internally try to convert the input to a NumPy array before extracting its data and length. This is possible as NumPy allows the construction of arrays from arbitrary python sequences.</p>
<p>The elements of the input sequence need to be convertible to a double.</p>
<tr><tdclass="paramname">gribid</td><td>id of the grib loaded in memory </td></tr>
<tr><tdclass="paramname">values</td><td>array of values to set as tuple, list, array or numpy.ndarray </td></tr>
</table>
</dd>
</dl>
<p>References <aclass="el"href="namespaceec_codes.html#ab28f95174ea3e8eb760d4019598ec9e6">codes_index_get_double()</a>, <aclass="el"href="namespaceec_codes.html#aeaf2ac58b4a90bd09595986d49228d7c">codes_index_get_long()</a>, and <aclass="el"href="namespaceec_codes.html#a19b8c07a5ab06944488e66ce434a615b">codes_index_get_string()</a>.</p>
<p>Referenced by <aclass="el"href="namespaceec_codes.html#a1250285cb0770393bf6078f3ee3340a2">codes_get_native_type()</a>.</p>
<p>The coded keys are actually coded in the message.</p>
<dlclass="section see"><dt>See Also</dt><dd><aclass="el"href="namespaceec_codes.html#a199fb77e1395975be732e46f93b3e337"title="Create a new iterator on the keys. ">codes_keys_iterator_new</a>,<aclass="el"href="namespaceec_codes.html#af2eecea5df157516fb60556cbd1283cd"title="Advance to the next keys iterator value. ">codes_keys_iterator_next</a>,<aclass="el"href="namespaceec_codes.html#a83a077fb2dda1e7f1d317039fc7267d1"title="Delete a keys iterator and free memory. ">codes_keys_iterator_delete</a></dd></dl>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">iterid</td><td>keys iterator id </td></tr>
<p>Skip the computed keys in a keys iterator. </p>
<p>The computed keys are not coded in the message, they are computed from other keys.</p>
<dlclass="section see"><dt>See Also</dt><dd><aclass="el"href="namespaceec_codes.html#a199fb77e1395975be732e46f93b3e337"title="Create a new iterator on the keys. ">codes_keys_iterator_new</a>,<aclass="el"href="namespaceec_codes.html#af2eecea5df157516fb60556cbd1283cd"title="Advance to the next keys iterator value. ">codes_keys_iterator_next</a>,<aclass="el"href="namespaceec_codes.html#a83a077fb2dda1e7f1d317039fc7267d1"title="Delete a keys iterator and free memory. ">codes_keys_iterator_delete</a></dd></dl>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">iterid</td><td>keys iterator id </td></tr>
<p>Skip the duplicate keys in a keys iterator. </p>
<dlclass="section see"><dt>See Also</dt><dd><aclass="el"href="namespaceec_codes.html#a199fb77e1395975be732e46f93b3e337"title="Create a new iterator on the keys. ">codes_keys_iterator_new</a>,<aclass="el"href="namespaceec_codes.html#af2eecea5df157516fb60556cbd1283cd"title="Advance to the next keys iterator value. ">codes_keys_iterator_next</a>,<aclass="el"href="namespaceec_codes.html#a83a077fb2dda1e7f1d317039fc7267d1"title="Delete a keys iterator and free memory. ">codes_keys_iterator_delete</a></dd></dl>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">iterid</td><td>keys iterator id </td></tr>
<p>Skip the edition specific keys in a keys iterator. </p>
<dlclass="section see"><dt>See Also</dt><dd><aclass="el"href="namespaceec_codes.html#a199fb77e1395975be732e46f93b3e337"title="Create a new iterator on the keys. ">codes_keys_iterator_new</a>,<aclass="el"href="namespaceec_codes.html#af2eecea5df157516fb60556cbd1283cd"title="Advance to the next keys iterator value. ">codes_keys_iterator_next</a>,<aclass="el"href="namespaceec_codes.html#a83a077fb2dda1e7f1d317039fc7267d1"title="Delete a keys iterator and free memory. ">codes_keys_iterator_delete</a></dd></dl>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">iterid</td><td>keys iterator id </td></tr>
<p>Skip the function keys in a keys iterator. </p>
<dlclass="section see"><dt>See Also</dt><dd><aclass="el"href="namespaceec_codes.html#a199fb77e1395975be732e46f93b3e337"title="Create a new iterator on the keys. ">codes_keys_iterator_new</a>,<aclass="el"href="namespaceec_codes.html#af2eecea5df157516fb60556cbd1283cd"title="Advance to the next keys iterator value. ">codes_keys_iterator_next</a>,<aclass="el"href="namespaceec_codes.html#a83a077fb2dda1e7f1d317039fc7267d1"title="Delete a keys iterator and free memory. ">codes_keys_iterator_delete</a></dd></dl>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">iterid</td><td>keys iterator id </td></tr>
<p>Skip the read_only keys in a keys iterator. </p>
<p>Read only keys cannot be set.</p>
<dlclass="section see"><dt>See Also</dt><dd><aclass="el"href="namespaceec_codes.html#a199fb77e1395975be732e46f93b3e337"title="Create a new iterator on the keys. ">codes_keys_iterator_new</a>,<aclass="el"href="namespaceec_codes.html#af2eecea5df157516fb60556cbd1283cd"title="Advance to the next keys iterator value. ">codes_keys_iterator_next</a>,<aclass="el"href="namespaceec_codes.html#a83a077fb2dda1e7f1d317039fc7267d1"title="Delete a keys iterator and free memory. ">codes_keys_iterator_delete</a></dd></dl>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">iterid</td><td>keys iterator id </td></tr>