AJAX POST method returning ‘Undefined array key’

I’m working on a simple AJAX call to retrieve API data from the Geonames website, but I keep getting this error:

Warning: Undefined array key “geonames” in
C:xampphtdocstasklibsphpocean.php on line 25
{“status”:{“code”:”200″,”name”:”ok”,”description”:”success”,”returnedIn”:”72
ms”},”data”:null}

As you can see, the status code is returning okay but I can’t access the data in the array and keep getting the null response.

Javascript:

    $('#oeanBtnRun').click(function() {

        $.ajax({
            url: "Oceanlibs/php/ocean.php",
            type: 'POST',
            dataType: 'json',
            data: {
                lat: $('#selLat').val(),
                lng: $('#selLng').val(),
            },
            success: function(result) {

                console.log(JSON.stringify(result));

                if (result.status.name == "ok") {

                    $('#results').html(result['data']);

                }
            
            },
            error: function(jqXHR, textStatus, errorThrown) {
                console.log(jqXHR, textStatus, errorThrown);
            }
        }); 
    
    });

html:

<tr>
     <td>2. Get Ocean</td>
     <td>
    <label>Latitude: </label><input id="selLat" type="number"></input>
    <label>Longitude: </label><input id="selLng" type="number"></input>
     </td>
     <td><button class="oceanBtnRun">Run</button></td>
</tr>

php:

<?php

    ini_set('display_errors', 'On');
    error_reporting(E_ALL);

    $executionStartTime = microtime(true);

    $url='http://api.geonames.org/neighbourhoodJSON?formatted=true&lat=' . $_REQUEST['lat'] . '&lng=' . $_REQUEST['lng'] .'&username=kerriemcivor92&style=full';

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_URL,$url);
    
    $result=curl_exec($ch);

    curl_close($ch);

    $decode = json_decode($result,true);    

    $output['status']['code'] = "200";
    $output['status']['name'] = "ok";
    $output['status']['description'] = "success";
    $output['status']['returnedIn'] = intval((microtime(true) - $executionStartTime) * 1000) . " ms";
    $output['data'] = $decode['geonames'];
    

    
    header('Content-Type: application/json; charset=UTF-8');

    echo json_encode($output); 

?>

I’ve tried changing

$output['data'] = $decode['geonames'];

to various forms with zero success.

Any ideas would be greatly appreciated!